Re:(ΦωΦ)

No Curious, No Life.

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)のパッケージ
PostfixSMTP認証をつかえるようにするために使用.
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連携の例はこちらを参考に

codeforfun.jp blog.apar.jp

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=YES

  • user_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のインストールです.