Cerbは、大量の電子メールを送信するために使用される、無料のオープンソースのWebベースのコラボレーションおよび自動化ツールです。これはPHPで記述されており、データベースバックエンドとしてMySQLまたはMariaDBを使用します。リアルタイムの監視、タスク管理、および目標の追跡に使用できる、シンプルで使いやすいWebインターフェイスが付属しています。
このチュートリアルでは、CentOS8サーバーにCerbをインストールして構成する方法を学習します。
前提条件
- CentOS8を実行しているサーバー。
- サーバーIPを指す有効なドメイン。このチュートリアルでは、cerb.example.comドメインを使用します。
- ルートパスワードがサーバーに設定されます。
入門
開始する前に、システムにEPELおよびRemiPHPリポジトリをインストールする必要があります。次のコマンドでインストールできます。
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
dnf module enable php:remi-7.4
両方のリポジトリがインストールされたら、次のステップに進むことができます。
LAMPスタックをインストールする
次に、Apache、MariaDB、PHP、およびその他の必要なPHP拡張機能をサーバーにインストールする必要があります。次のコマンドを使用して、それらすべてをインストールできます。
dnf install httpd mariadb-server php php-cli php-zip php-curl php-dom php-gd php-imap php-json php-mbstring php-mysqli php-openssl php-pcre php-session php-simplexml php-xml php-spl php-mailparse git unzip wget -y
すべてのパッケージがインストールされたら、php.iniファイルを編集し、いくつかの設定を変更します。
nano /etc/php.ini
次の行を希望の値に変更します。
memory_limit = 256M upload_max_filesize = 32M post_max_size = 32M date.timezone = Asia/Kolkata
終了したら、ファイルを保存して閉じます。次に、ApacheおよびMariaDBサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
終了したら、次のステップに進むことができます。
MariaDBサーバーを構成する
まず、MariaDBを保護し、MariaDBのrootパスワードを設定する必要があります。次のコマンドを実行して実行できます。
mysql_secure_installation
以下に示すように、すべての質問に答えてください。
Enter current password for root (enter for none): Enter Set root password? [Y/n]: Y New password: Re-enter new password: Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
MariaDBのインストールが保護されたら、次のコマンドを使用してMariaDBシェルにログインします。
mysql -u root -p
プロンプトが表示されたらMariaDBrootパスワードを入力し、次のコマンドを使用してCerbのデータベースとユーザーを作成します。
MariaDB [(none)]>CREATE DATABASE cerb;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON cerb.* TO 'cerb'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>EXIT;
終了したら、次のステップに進むことができます。
Postfixをインストールする
次に、Postfixメールサーバーパッケージをサーバーにインストールする必要があります。次のコマンドを実行してインストールできます。
dnf install postfix -y
Postfixがインストールされたら、Postfixサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl start postfix
systemctl enable postfix
終了したら、次のステップに進むことができます。
Composerをインストールします
Composerは、プロジェクトに必要な依存関係をインストールするために使用されるPHPの依存関係マネージャーです。次のコマンドを使用して、Composerインストールスクリプトをダウンロードできます。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
次に、ComposerのGithubリポジトリから最新のComposerインストーラーの署名をダウンロードし、次のコマンドで変数に保存します。
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
次に、次のコマンドを使用してインストーラースクリプトを確認します。
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
すべてが正常に機能する場合は、次の出力が表示されます。
インストーラーの検証
最後に、次のコマンドを使用してComposerをインストールします。
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
次の出力が得られるはずです。
All settings correct for using Composer Downloading... Composer (version 2.0.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
次のコマンドを使用して、Composerのバージョンを確認できます。
composer --version
次の出力が得られるはずです。
Composer version 2.0.7 2020-11-13 17:31:06
終了したら、次のステップに進むことができます。
Cerbをダウンロード
次に、次のコマンドを使用して、Cerbの最新バージョンをGitリポジトリからApacheルートディレクトリにダウンロードします。
cd /var/www/html
git clone git://github.com/wgm/cerb.git cerb
ダウンロードが完了したら、ディレクトリをcerbに変更し、次のコマンドを使用して必要な依存関係をインストールします。
cd cerb
composer install
次に、次のコマンドを使用して、cerbディレクトリの所有権と権限を設定します。
chown -R apache:apache /var/www/html/cerb
chmod -R 755 /var/www/html/cerb
終了したら、次のステップに進むことができます。
ApacheをCerb用に構成する
次に、Cerb用のApache仮想ホスト構成ファイルを作成する必要があります。次のコマンドで作成できます。
nano /etc/httpd/conf.d/cerb.conf
次の行を追加します。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/cerb" ServerName cerb.example.com ErrorLog "/var/log/httpd/cerb-error_log" CustomLog "/var/log/httpd/cerb-access_log" combined </VirtualHost>
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してApacheサービスを再起動します。
systemctl restart httpd
次のコマンドを使用して、Apacheのステータスを確認できるようになりました。
systemctl status httpd
次の出力が得られるはずです。
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Tue 2020-11-17 03:35:53 EST; 7s ago Docs: man:httpd.service(8) Main PID: 5545 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 25014) Memory: 28.9M CGroup: /system.slice/httpd.service ??5545 /usr/sbin/httpd -DFOREGROUND ??5547 /usr/sbin/httpd -DFOREGROUND ??5548 /usr/sbin/httpd -DFOREGROUND ??5549 /usr/sbin/httpd -DFOREGROUND ??5550 /usr/sbin/httpd -DFOREGROUND Nov 17 03:35:52 centos8 systemd[1]: Stopped The Apache HTTP Server. Nov 17 03:35:52 centos8 systemd[1]: Starting The Apache HTTP Server...
終了したら、次のステップに進むことができます。
SELinuxとファイアウォールを構成する
デフォルトでは、SELinuxはCentOS 8で有効になっています。したがって、Cerb用にSELinuxを構成する必要があります。次のコマンドで構成できます。
setsebool -P httpd_can_network_connect 1
次に、firewalldを介してポート80と443を許可する必要があります。次のコマンドで実行できます。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
次のコマンドを使用して、firewalldをリロードし、すべての変更を適用します。
firewall-cmd --reload
終了したら、次のステップに進むことができます。
Cerb WebUIにアクセスする
次に、Webブラウザーを開き、URLhttp : //cerb.example.comを使用してCerbにアクセスします。次のページが表示されます。
すべての依存関係を確認し、[続行]ボタンをクリックします。次のページが表示されます。
私をクリックして使用許諾契約に同意する]ボタンを受け入れます。次のページが表示されます。
データベース情報を入力し、[データベース接続の確認]をクリックします。次のページが表示されます。
SMTPの詳細を入力し、[メール設定の確認]をクリックします。次のページが表示されます。
アカウント情報を入力し、[続行]ボタンをクリックします。次のページが表示されます。
パッケージを選択し、[続行]ボタンをクリックします。次のページが表示されます。
[続行]ボタンをクリックします。次のページが表示されます。
次に、次のコマンドを使用してインストールディレクトリを削除します。
rm -rf /var/www/html/cerb/install/
[ログインして開始]ボタンをクリックします。次のページが表示されます。
メールアドレスを入力して、[続行]ボタンをクリックしてください。次のページが表示されます。
パスワードを入力し、[サインオン]ボタンをクリックします。次のページにCerbのデフォルトダッシュボードが表示されます。
結論
おめでとう!これで、CentOS 8にApacheを使用してCerbを正常にインストールおよび構成できました。これで、Cerbダッシュボードを使用して大量の電子メールを送信できます。ご不明な点がございましたら、お気軽にお問い合わせください。