CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Microsoft ExchangeをLinuxソリューションに置き換えるソリューションは数多くありますが、それらすべてに、私が本当に嫌いな問題が1つありました。会議の招待状を受け取ったとき、それらは私のiOSデバイスに添付ファイルとして届き、カレンダーアプリで直接開かれませんでした。Zarafaは、カレンダーアプリでカレンダーイベントを開くために私がテストした唯一のソリューションでした。このガイドでは、CentOS 6でZarafaとYaffasをセットアップする方法を説明します。
構成を理解しやすくするために、次のことを前提としています。ただし、これらの項目には独自の実際の値を使用する必要があります。
まず、vultr.comサーバーインスタンスをデプロイします。CentOS 6、32ビットを実行する1 GB VPSを選択しました。インストールが完了したら、サーバーをメールサーバーにする準備をします。
サーバーコントロールパネルの[マイサーバー]画面で、新しく作成したサーバーの横にある[管理]リンクをクリックします。開いたページで、サーバーの詳細を確認できます。[IPv4]タブをクリックし、青い[更新]ボタンをクリックします。テキスト入力フィールドが表示され、「。vultr.com」などが事前に設定されています。そのエントリをサーバーの完全なドメイン名(例:pegasus.example.com)に置き換え、青い[更新]ボタンを押します。
次に、新しいサーバーにログインします。sshターミナルを開き、サーバーに接続します。または、青色の[コンソールの表示]ボタンをクリックして、サーバーのログイン画面が表示されたブラウザウィンドウを表示することもできます。
ssh root@your_ip_address
「your_ip_address
」の部分は、サーバーのコントロールパネルに表示されるメインIPアドレスです。ブラウザを使用してサーバーに接続する場合は、rootパスワードを使用してrootとしてログインします。
まず、正しいドメイン名を設定します。ネットワーク構成ファイルを開きます。
nano /etc/sysconfig/network
"vultr.guest"をサーバーの完全なドメイン名に置き換えます(例:pegasus.example.com)。Ctrl + X、次にYでファイルを保存します。
変更する2番目の場所は/etc/hosts
ファイルです。
nano /etc/hosts
次の行を追加します。ファイルの先頭または2行目に置くことができます。
127.0.1.1 pegasus.example.com pegasus
Ctrl + X、次にYでファイルを保存します。再起動後にすべてが機能することを確認したいので、変更後にVPSを再起動します。
reboot
マシンが再起動するまで待ってから、再度接続してください。
ssh root@your_ip_address
YaffasとZarafaには、vultr.comサーバーのソースにすでにインストールされているEPELリポジトリが必要です。RPMforgeリポジトリも必要です。次のコマンドを発行して、そのリポジトリをインストールします。
32ビットシステム:
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
64ビットシステム:
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
次に、Yaffasリポジトリを追加します。
nano /etc/yum.repos.d/yaffas.repo
新しく作成したファイルに次のテキストを貼り付けます。
[yaffas]
name = yaffas $releasever
baseurl = http://repo.yaffas.org/releases/latest/rhel/$releasever
enabled = 1
protect = 0
gpgcheck = 1
priority = 1
Ctrl + X、次にYでファイルを保存します。
互換性の問題を回避するには、EPELリポジトリから一部のアイテムを除外する必要があります。リポジトリファイルを開きます。
nano /etc/yum.repos.d/epel.repo
次に[epel]
、「gpgkey」行のすぐ下のセクションに次のように入力します。
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*
完全なセクションは次のようになります。
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*
Ctrl + X、次にYでファイルを保存します。
YaffasリポジトリーのGPGキーをインポートします。
rpm --import http://repo.yaffas.org/repo.rpm.key
では、yumをクリーンアップしましょう。
yum clean all
この時点で、Yaffasインストールの準備はすべて整っているはずです。このコマンドを入力するだけでインストールできます。
yum install yaffas
Yumは依存関係をチェックし、概要を提供します。
Install 359 Package(s)
Total download size: 260 M
Installed size: 639 M
Is this ok [y/N]:
Yを押してからEnter / Returnキーを押して、インストールを開始します。
インストールには時間がかかるので、インストールが完了するのを待つ間、コーヒーとクッキーを用意してください。
最終的なセットアップを開始する前に、MySQLを構成する必要があります。MySQLを起動し、安全なセットアップを開始します。
service mysqld restart
mysql_secure_installation
MySQLにログインしてセキュリティを確保するには、rootユーザーの現在のパスワードが必要です。MySQLをインストールしたばかりで、まだrootパスワードを設定していない場合、パスワードは空白になるため、ここでEnter / Returnキーを押すだけです。
Enter current password for root (enter for none): **{press Enter/Return}**
[...]
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] **Y**
New password: **{enter super secret password}**
Re-enter new password: **{enter super secret password again}**
Remove anonymous user? [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**
Webブラウザーを開き、次のURLにアクセスします。
http://your_ip_address:10000
#If you have a DNS entry already, use this instead.
http://server.example.com:10000
最初のユーザー名はadmin
パスワード付きですyaffas
。
ログイン後、セットアップウィザードが表示されます。5つのステップがあります。「次へ」を押して開始します。
最初のステップは、新しい管理者パスワードを入力することです。新しいパスワードを2回入力します。安全のために十分複雑であることを確認してください。ただし、忘れないでください。次に「次へ」をクリックします。
次の画面でMySQLバックエンドを構成します。入力する必要があるのは、MySQL rootユーザー用に作成したパスワードだけです。
4番目の画面で、メールドメインを設定します。プライマリメールドメインのフィールドに「example.com」と入力します。これはあなた自身のドメインでなければなりません。「次へ」を押します。
5番目の画面はオプションだと思いますが、念のため、LDAP管理者となるユーザーアカウントを作成し、[完了]をクリックします。
セットアップが完了するまでしばらく時間がかかります。完了すると、すべてが成功したことを示すポップアップが表示されます。「OK」ボタンをクリックします。しばらくすると、ログイン画面が再び表示されます。セットアップ中に作成した新しいパスワードで管理者としてログインできます。
インストール中に、アプリの一般的な自己署名証明書がいくつか生成され、インストールされます。個人的には、入力した値を表示するために独自の自己署名証明書を用意し、すべての要求がHTTPS経由で送信されるようにしたいと思っています。
Zarafaには、独自の証明書を生成するためのスクリプトがいくつか付属しています。これらはもちろん自己署名証明書です。
認証局の家を作ってみましょう。
mkdir -p /etc/zarafa/ssl
chmod 700 /etc/zarafa/ssl
cd /etc/zarafa/ssl
...次にスクリプトを実行します。
sh /usr/share/doc/zarafa/ssl-certificates.sh server
パラメータ「サーバー」は、作成する証明書が呼び出されることを意味しますserver.pem
。
次のメッセージが表示されます。
No Certificate Authority Root found in current directory.
Press enter to create, or ctrl-c to exit.
EnterキーまたはReturn キーを押します。
次に表示されるメッセージは次のとおりです。
CA certificate filename (or enter to create)
EnterキーまたはReturn キーを押して続行し、CA証明書を作成します。
画面上で少しアクティビティを行うと、PEMパスフレーズの入力を求めるプロンプトが表示されます。CA証明書のパスフレーズを入力しますが、後で必要になるため、忘れないようにしてください。簡単にするために、パスフレーズ「ca-root-pem」を選択したとします。
質問に答えて証明書を生成します。ここでの回答は私の例ですので、正しい値に置き換えてください。
Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Certificate Authority**
Common Name (eg, your name or your server's hostname) []:**server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**
次に、cakey.pem
ファイルのパスフレーズを要求します。これは、以前に作成したパスフレーズです。
Enter pass phrase for /etc/pki/CA/private/./cakey.pem:ca-root-pem
画面に小さなアクティビティが表示され、PEMパスフレーズの入力を求められます。これは、server.pem
作成したファイルのパスフレーズです。好きなものを入力しますが、忘れないようにしてください。簡単にするために、「server-pem-phrase」を使用します。
Enter PEM pass phrase:**server-pem-phrase**
Verifying - Enter PEM pass phrase:**server-pem-phrase**
server.pem
ファイルの値を入力する時間。
Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor **
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Server SSL Certificate**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**
Enter pass phrase for /etc/pki/CA/private/cakey.pem:ca-root-pem **Replace with your own passphrase**
画面上の一部のアクティビティは、証明書が生成されたことを示しています。
Sign the certificate? [y/n]:
入力Yと押して/リターンを入力します。
1 out of 1 certificate requests certified, commit? [y/n]
入力Yと押して/リターンを入力します。
Create public key from this certificate? [y]
実際には必要ありませんが、作成しても問題はないと思います。Enter / Returnを押すだけです。
Enter pass phrase for server.pem: **server-pem-phrase**
次にserver.cfg
、Zarafa のファイルを構成します。
nano /etc/zarafa/server/cfg
エントリserver_ssl_enabled
を見つけて、その値を "yes"(引用符なし)に変更します。
エントリserver_ssl_port
を見つけて、237であることを確認します。
エントリserver_ssl_key_file
を見つけて、その値を " /etc/zarafa/ssl/server.pem
"(引用符なし)に設定します。
ファイルserver_ssl_key_pass
用に作成したパスフレーズserver.pem
(例:server-pem-phrase)を値として使用して、エントリを作成します。
エントリを見つけますserver_ssl_ca_file
。Zarafaの元のドキュメントはパスが/etc/zarafa/ssl/demoCA/cacert.pem
であることを前提としていますが、CentOSではパスは/etc/pki/CA/cacert.pem
です。この値を適宜更新してください。
server_ssl_ca_file = /etc/pki/CA/cacert.pem
Zarafaサーバーを再起動します。
service zarafa restart
Apacheの証明書を生成しましょう。
cd /etc/zarafa/ssl
openssl req -nodes -newkey rsa:2048 -keyout zarafa-ssl.key -out zarafa-ssl.csr
証明書を作成する別のフォームを取得します。
Country Name (2 letter code) [XX]: **MY **
State or Province Name (full name) []: **Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Zarafa Web Services**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**
次に、証明書に署名します。
openssl x509 -req -in ./zarafa-ssl.csr -signkey zarafa-ssl.key -out zarafa-ssl.crt -days 9999
...そしてそれをApacheに追加します。
cd /etc/httpd/conf.d
nano ssl.conf
「SSLCertificateFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.crt」という行を見つけて、「SSLCertificateFile /etc/zarafa/ssl/zarafa-ssl.crt」に変更します。
「SSLCertificateKeyFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.key」という行を見つけて、「SSLCertificateKeyFile /etc/zarafa/ssl/zarafa-ssl.key」に変更します
ファイルを保存して終了します。
次に、zarafa-webapp.conf
ファイルを開きます。
nano /etc/httpd/zarafa-webapp.conf
次の2行を見つけて、コメントを外します。
#php_flag session.cookie_secure on
#php_flag session.cookie_httponly on
次の行を追加します。
RewriteEngine On
RewriteCond % !=on
RewriteRule (.*) https://pegasus.example.com/webapp/ [R] (Of course use your own real domain here)
ファイルを保存して終了します。次に、Apacheを再起動します。
service httpd restart
これで、Webアプリは常にHTTPSを使用します。についても同じことができますzarafa-webapp.conf
。
CentOSでインストールをテストしたところ、フォルダが見つからないためにいくつかのエラーメッセージが表示されました。以下のコマンドで修正できます。
mkdir -p /var/run/policyd-weight/cores/master
mkdir -p /var/run/policyd-weight/cores/cache
chown -R polw /var/run/policyd-weight
新しいZarafaサーバーをドメインのメールサーバーとして使用するには、ドメインのAレコードとMXレコードの両方を設定する必要があります。必要に応じて、お気に入りの検索エンジンを使用してSPFウィザードを見つけることができます。これにより、ドメインのSPFレコードを簡単に作成できます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。