AlmaLinux8.7 で Submin を使う ~2.OSの準備②~
CentOS6で利用していたSubversion(なんと2014/11構築!!)をAlmaLinux8.7に移すことにしました.
Subversionの管理にSubminを使います.
SubminはPython2を使用するため,AlmaLinux9ではなく,Python2が使える8.7にしました.
実はSubminとSubversionをつなぐモジュールが簡単に手に入らず,Subversionのコンパイルからやっています.
いろんな方の記事を参考にして,本件向けに手順をまとめなおしています.
感謝です!
今回は準備編の残りです.
AlmaLinux にメール・Web・FTPのそれぞれのサーバを設定をしました.
[目次]
※現在の仕事上,Linuxはまれに触れる程度ですので盛大な勘違いや思い込みがあるかも?
※その時は教えてくださいね.
作業方針
- 本構築前のお試しなのでWindows10/11上でHyper-Vにて構築します.
- 「su -」は使わず,「sudo」で進めます.
メールサーバ(Postfix)の導入
参考:メールサーバー構築(Postfix+Dovecot)(AlmaLinux) - すだちWiki
1)Postfixのインストール
sudo dnf install postfix -y
2)Cyrusをインストール
※SASL(Simple Authentication and Security Layer)のパッケージ
※PostfixでSMTP認証をつかえるようにするために使用.
sudo dnf install cyrus-sasl cyrus-sasl-md5 cyrus-sasl-plain -y
3)Postfixの設定
①.イントラ向けの例
※既にあるメールサーバへ連携する手順です.
※実際はそれぞれの管理者に確認を.
mail.cfの編集
sudo vi /etc/postfix/main.cf
relayhost のコメントアウトしてある所へ下記を記入
(メモ:vi画面で/relayhostと入力すると検索.nと入力で次を検索できます.)
relayhost = メールサーバー名:ポート番号
末尾に下記を追加
(メモ:vi画面で9999Gとかすると一気に末尾へ.oと入力でカーソルの下に入力行を追加できるモードに.)
smtp_sasl_auth_enable = yes<br> smtp_sasl_password_maps = hash:/etc/postfix/mailsvinfo #メモ:↑の「mailsvinfo」は次の項でviで作成するファイル名と同じなら何でも可 smtp_sasl_security_options = noanonymous<br> smtp_sasl_mechanism_filter = CRAM-MD5,LOGIN,PLAIN
smtp_sasl_password_maps の編集
sudo vi /etc/postfix/mailsvinfo
リレー先サーバのアドレスと,認証で使用するユーザ名とパスワードを書き込みます.
メールサーバー名:ポート番号 ユーザ名:パスワード
コマンドラインに戻って下記を実行.
sudo chmod 640 /etc/postfix/mailsvinfo sudo postmap /etc/postfix/mailsvinfo
/etc/postfix/メールサーバー名.db ができていればOK
②.Gmail連携の例はこちらを参考に
4)起動設定
自動起動の設定と即時起動
–now オプションをつけて「 enable (自動起動)」と「 start (起動)」を同時に実行.
sudo systemctl enable --now postfix
※メモ:状態の確認:systemctl status postfix
※メモ:Postfixの起動:sudo systemctl start postfix
※メモ:Postfixの停止:sudo systemctl stop postfix
※メモ:Postfixの再起動:sudo systemctl restart postfix
※メモ:Postfixを自動起動に設定:sudo systemctl enable postfix
5)動作確認
mailコマンドのインストール
sudo dnf install mailx -y
送信テスト
echo 'メール本文' | sudo mail -s 'メールタイトル' 送信先メールアドレス
下記状態なら完了
・メールが届いた.
・sudo cat /var/log/maillog
で確認すると エラーが出ていない
(status=sentになっている)
Webサーバ(Apache)の導入
1)Apacheのインストール
※メモ:httpd-devel は後のコンパイル作業等で必要になります.
※メモ:Webサーバを使うだけなら httpd だけでOK.
sudo dnf install httpd httpd-devel -y
2)自動起動の設定と即時起動
–now オプションをつけて「 enable (自動起動)」と「 start (起動)」を同時に実行.
sudo systemctl enable --now httpd
3)firewall設定
外部のマシンから接続できるようにhttpを許可する
sudo firewall-cmd --add-service=http --zone=public --permanent
※80番ポートのみを許可する方法もある
sudo firewall-cmd --add-port=80/tcp --zone=public --permanent
再起動して設定を反映
sudo firewall-cmd --reload
4)hostnameの登録
sudo vi /etc/httpd/conf/httpd.conf
ServerName localhost.localdomain:80
を追記
※IPアドレスでもOK
⇒ 今回は ServerName 172.27.32.87:80
で追記
※メモ:バージョンの確認:httpd -v
(-V
にすると詳細表示)
※メモ:状態の確認:systemctl status httpd
※メモ:httpdの起動:sudo systemctl start httpd
※メモ:httpdの停止:sudo systemctl stop httpd
※メモ:httpdの再起動:sudo systemctl restart httpd
※メモ:httpdを自動起動に設定:sudo systemctl enable httpd
FTPサーバ(Vsftpd)の導入
参考:保護中: AlmaLinux8:FTPサーバー設定 - 初心者におすすめ!コピペでできる自宅サーバーAlmaLinux8の作り方。
1)Vsftpdのインストール
sudo dnf install vsftpd -y
2)環境設定
sudo vi /etc/vsftpd/vsftpd.conf
12行目:匿名ログインを禁止する.(12Gと入力するとその行へジャンプします)
anonymous_enable= NO
82,83行目:行頭の「#」を削除してコメント解除.アスキーモードでの転送を許可する.
ascii_upload_enable=YES
ascii_download_enable=YES
100,101行目:行頭の「#」を削除してコメント解除.chrootを有効にします.
chroot_local_user=YES
chroot_list_enable=YES
103行目:行頭の「#」を削除しコメント解除.リストファイルを指定.
chroot_list_file=/etc/vsftpd/chroot_list
109行目:行頭の「#」を削除しコメント解除.ディレクトリ転送を有効にします.
ls_recurse_enable=YES
114行目:IPv4を有効に変更.
listen=YES
123行目:IPv6を無効に変更.
listen_ipv6=NO
ローカルタイム指定を最終行に追記.
use_localtime=YES
上層への移動を許可するユーザーを追加.
sudo vi /etc/vsftpd/chroot_list
ユーザー名を追記.
ユーザ名1 ユーザ名2 |
「/var/www/html」への書き込みを許可する.
sudo chmod 0777 /var/www/html
3)自動起動の設定と即時起動
–now オプションをつけて「 enable (自動起動)」と「 start (起動)」を同時に実行.
sudo systemctl enable --now vsftpd
4)firewall設定
外部のマシンから接続できるようにftpを許可する
sudo firewall-cmd --add-service=ftp --zone=public --permanent
※21番ポートのみを許可する方法もある
sudo firewall-cmd --add-port=21/tcp --zone=public --permanent
再起動して設定を反映
sudo firewall-cmd --reload
おまけ:rootでFTPできるようにする場合
参考:
りなっくすなう。: LinuxのFTPサーバ(vsftpd)にrootで接続
※FFFTPのPASVモードはチェック入っていても大丈夫だった
vsftpd.confのuserlist_enable=YESとなっていることを確認する.
sudo grep -n userlist_enable /etc/vsftpd/vsftpd.conf
(結果)
118:userlist_enable=YESuser_listのrootをコメントアウト
sudo vi /etc/vsftpd/user_list
⇒「root」をコメントアウトするftpusersのrootをコメントアウト
sudo vi /etc/vsftpd/ftpusers
⇒「root」をコメントアウトするchroot_listに追加
sudo vi /etc/vsftpd/chroot_list
⇒ユーザー名「root」を追記します.vsftpdを再起動して設定を反映
sudo systemctl restart vsftpd
今回はここまで.つぎはいよいよSubversionとSubminのインストールです.