Apache HTTP Server への PHPの導入
Webサーバ側で動的にWebページを生成するために使われているプログラミング言語の一つにPHPがあります。 PHPには、モジュール版とCGI版があります。モジュール版は、Webサーバのモジュールとして動き、Webサーバのプロセスの中でPHPプログラムを動かします。CGI版は、Webサーバとは別のプロセスとして実行されます。 CGI版のPHPをインストールし、Apache HTTP ServerでCGI版のPHPを実行できるようにします。 下記のコマンドでphpを導入します。 phpの設定ファイルを編集します。 Apacheに/etc/apache2/conf-available/php7.4- ...
Apache HTTP ServerのSSL対応
Apache HTTP ServerにSSL対応の設定を行い、HTTPSによる通信ができるようにします。 SSLモジュールとrewriteモジュールを有効化します。 ApacheのSSLの設定ファイルを編集します。 サイトのSSLの設定を行います。 サイトのSSLの設定を有効にします。 HTTPからHTTPSへのリダイレクトを行う場合は、以下の変更も行います。 設定に誤りがないか確認します。 「Action 'configtest' failed.」と表示された場合、問題があるということなので、設定を見直してください。 「Syntax OK」と表示された場合、問題がないことが確認できました。 ...
Apache HTTP Serverのインストール
Webサーバとして、Apache HTTP Serverをインストールします。 headersモジュールが必要なので、有効化します。 セキュリティ上、ディレクトリ一覧を表示させないために、autoindexを無効にします。 設定ファイルを編集します。 サイトの設定を行います。 /var/wwwの所有グループ、所有ユーザをApacheの実行グループ、実行ユーザに合わせます。 設定に誤りがないか確認します。 「Action 'configtest' failed.」と表示された場合、問題があるということなので、設定を見直してください。 「Syntax OK」と表示された場合、問題がないことが確認で ...
MariaDBデータベースサーバのインストール
動作確認済みシステム Debian 11 データベースサーバとして、MariaDBをインストールします。MariaDBは、MySQLをフォークして開発されています。 Debian 11のデフォルトリポジトリにあるMariaDBの情報を見てみます。 apt show mariadb-server Package: mariadb-server Version: 1:10.5.11-1 Priority: optional Section: database Source: mariadb-10.5 Maintainer: Debian MySQL Maintainers <pkg-mysq ...
FTPサーバの構築
ファイルをサーバにアップしたり、サーバにあるファイルをダウンロードするためにFTPが使われます。FTPサーバとして、Vsftpdをインストールして設定します。 以下のコマンドでVsftpdをインストールします。 設定ファイルを編集します。 /etc/vsftpd.chroot_listのファイルがないとログインできないため、空ファイルを作っておきます。 ファイアウォールでFTPのポートを許可します。 ポート番号を標準(20/TCP、21/TCP)のまま変えていない場合は、以下のコマンドで設定できます。 ポート番号を変えている場合は、以下のコマンドで設定できます。(例として50020/TCP、5 ...
メールサーバのSSL対応
メールサーバに、SSL証明書の作成(Let’s Encrypt)で取得した証明書を設定して、SSLをサポートするようにします。 PostfixでSSLの設定を行います。 最後のところに、以下を追記します。 master.cfでSMTPSポートの設定を行います。 DovecotでSSLの設定を行います。 各種サービスを再起動します。 ファイアウォールの設定を行い、必要なポートを許可するようにします。 メーラーでSSLを使って送受信ができていることが確認できればOKです。
メールサーバの拡張メールアドレス対応
動作確認済みシステム Debian 11 メールアドレスは、「foo@example.com」だけでなく、メールサーバの設定によっては、ユーザ名のあとに任意の文字列を付けた「foo+bar@example.com」も利用できるようにすることもできます。これが拡張メールアドレスというものです。1つのメールアカウントで複数のメールアドレスを利用することができます。 /etc/postfix/main.cfを編集して、拡張メールアドレスを有効にします。 cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf vi /etc/postfix/ma ...
メールサーバの構築
IMAPサーバのdovecot、SMTPサーバのpostfix、SASL認証のsasl2-binをインストールします。 postfixのインストール時、「Postfix Configuration」という見出しで、構成設定の選択を求められますが、後で手動で設定しますので、ここでは「No configuration」を選択します。 設定ファイルのサンプルをコピーして、編集します。 master.cfでSubmissionポートの設定を行います。 SMTH-Authの設定を行います。 saslauthdの設定を行い、自動で開始されるようにします。 OPTIONSで指定したディレクトリを作成します。 ...
SSL証明書の作成(Let's Encrypt)
インターネット上での盗聴や改竄を防ぐ方法として、SSLが使われています。SSLは、クライアントとサーバとのデータ通信を暗号化します。SSLを導入するには、SSLサーバ証明書をサーバにインストールする必要があります。SSLサーバ証明書は、信頼のおける第三者機関、認証局によって、ウェブサイトの運営者が正しい運営者であるか、審査を行なってから発行されます。SSL証明書を取得するために、費用を支払う必要があることが多いですが、Let's Encryptでは、無料でSSL証明書を取得することができます。有効期間は90日間です。 Let's EncryptからSSL証明書を取得するために、まずcertbo ...
時刻設定
まず、以下のコマンドで、現在のタイムゾーンを確認する。 もし、タイムゾーンを変更したい場合は、以下のようにする。(例として、Asia/Tokyoに変更) NTPの同期先の設定を行う。 systemd-timesyncd.serviceを再起動する。