2020年04月25日
Alpine LinuxにPostfixを導入する
Alpine上にPostfixをインストールするのは非常に簡単です。
# apk add postfix [Enter]
# rc-update add postfix default [Enter]
設定(/etc/postfix/main.cf)も別に難しくなく、普通に「myhostname」や「mydomain」を入力し、「inet_interfaces」や「mydestination」のコメントアウトをはずして、「mynetworks」を自分のLANに合うように書き換えるだけ。
但し、リレーホストの設定は追加で入れておきます。
--------------- ここから ---------------
relayhost = [(プロバイダのメールサーバ)]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
--------------- ここまで ---------------
上記の「/etc/postfix/relay_password」を
[(プロバイダのメールサーバ)]:587 アカウント名:パスワード
の内容で作成し、
# cd /etc/postfix [Enter]
# postmap hash:/etc/postfix/relay_password [Enter]
で「/etc/postfix/relay_password.db」を作成します。
SMTPAuthで接続するための追加のパッケージをインストールしますので、apkのリポジトリを変更しておきましょう。
# vi /etc/apk/repositories [Enter]
この中の「http://mirrors.ustc.edu.cn/alpine/v3.10/community」のコメントアウトをはずします。
# apk update [Enter]
んで、SASL関連をインストール。
# apk add cyrus-sasl-plain [Enter]
メール送信テスト用にコマンドラインから「mail」コマンドを叩きたいのですが、標準では使えませんので「mailx」も入れます。
# apk add mailx [Enter]
これで、あとはPostfixを起動して(すでに起動している場合は再起動して)、メール送信テストしてみましょう。
# rc-service postfix start [Enter]
# echo "メール本文" | mail -s "件名" (宛先メールアドレス) [Enter]
Gmailあてに送信したら「迷惑メール」に分類されました(^_^;)が、一応テスト完了!
投稿者 masatsu : 13:31 | コメント (0)
2017年12月30日
Alpineサーバを構築
Windows7で使っていたノートPC「HP mini5102」にAlpine Linux 3.6.2を載せてみました。
CPUはAtomN450の1.66GHzと非力ですが、メモリは2GB搭載していますので、Alpineには十分過ぎです。
ちなみにAlpineを選択したのは、今はやりのDockerコンテナとして使うため…。
もっとも現状ではDocker上でデーモンを動かしてないのですが…(^-^;)
まずダウンロードしたISOイメージをCD-Rに焼いて、そこから起動。
rootでログイン(パスワード無し)した後、
# setup-alpine
でハードディスクにインストールします。
(注意点)
・最初のキーボード選択は「jp」
・インストール先のハードディスク選択(Which disk)では「sda」
・ディスク構成(How would you like to use it?)では「sys」
を入力すること。
インストール後、
# shutdown -h now
で電源OFFしようとしたらエラーに(^-^;)
# poweroff
が正解でした。
CD-Rを抜いてからあらためて起動後、ネットワーク設定を固定IPアドレスに変更します。
# vi /etc/network/interfaces
iface eth0 inet dhcp
をコメントアウトして、
iface eth0 inet static
の下にaddress、netmask、gateway、hostnameを記述するだけです。
次に、パッケージをインストールしてみます。
パッケージ管理はapkです。
# apk search ○○ … 検索
# apk add ○○ … インストール(installではなくadd)
という感じで、割と簡単です。
これを自動起動させたいのですが、chkconfigはありません。
# rc-update add ○○ default … 自動起動登録
なお、手動起動は
# /etc/init.d/○○ start
でも良いのですが、
# rc-service ○○ start
のほうが簡単ですね。
あと、起動状態表示もpsコマンドではなく
# rc-status
が便利です。
一応、apache2とmariadbとvsftpdとphp5を入れてみたのですが、mariadbとvsftpdは引っかかるポイントがあります。
# apk add mariadb mariadb-client
# rc-update add mariadb default
の後、rebootしてみましたが、MariaDBが起動していません。
# /etc/init.d/mariadb setup
を最初の1回だけ実行することが必須でした。
vsftpdのほうは、
# apk add vsftpd
# rc-update add vsftpd default
# rc-service vsftpd start
で起動はするものの、FFFTPから接続することができません。
# vi /etc/vsftpd/vsftpd.conf
で末尾に
seccomp_sandbox=NO
allow_writeable_chroot=YES
の2行を追加しなければなりません。
てか、それだけです(^-^;)
CentOSベースでvsftpdを動かす場合、この記述は必要ないので、調べるのに少し手間取りました。
Docker検証用に構築したサーバですが、現状では単なる軽量Linuxとして動いているだけ…。
まぁ、良いか。