- 投稿日:2023年06月09日 10時23分45秒
- 更新日:2023年06月09日 10時24分44秒

UbuntuにApacheをインストール
詳細
この記事は以下作業の後におこなっております。
Apacheのインストール
Apacheをインストールします。
インストール後は起動状況を確認して、hostnameコマンドの戻り値を使ってブラウザからアクセスできるか確認してください。
apt install apache2
systemctl status apache2
hostname -I
ファイヤーウォールを有効にしている場合はそちらの設定も行ってください。
ufw app list
ufw allow 'Apache'
ufw status
私の環境では既にNginxをインストールしていたので、そちらを無効にします。自動起動をオフにすることを忘れずに。
Apacheの自動起動を有効にし、サイトドメインの設定ファイルを作成します。
systemctl stop nginx.server
systemctl desable nginx.server
systemctl enable apache2
nano /etc/apache2/sites-available/your_domain.conf
テンプレ的な内容を記載します。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
後は作成した設定を有効にし、不要なデフォルトを無効にします。
ここまで出来れば再起動します。
a2ensite your_domain.conf
a2dissite 000-default.conf
systemctl restart apache2
WordPressを使う場合
WordPressを使う場合は上記以外に必要なモジュールもあるので、そちらのインストールと設定をします。
apt install libapache2-mod-php
a2enmod rewrite
systemctl restart apache2
httpd.confがなくなり、a2enmodコマンドで設定するように変わったので注意してください。
Apache実行ユーザ:グループを変更
ennvarsファイルに設定があるので、そちらを修正します。
nano /etc/apache2/envvars
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
↓
export APACHE_RUN_USER=[ユーザ名]
export APACHE_RUN_GROUP=[グループ名]
.htaccessを有効にする場合
.htaccessを有効にしたい場合はapacheの設定に許可を記載しなくてはいけません。
nano /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
#AllowOverride None
AllowOverride All
Require all granted
</Directory>
Directoryで対象のパスを指定し、そのパス以下は全て設定を適用するみたいです。
既定値はNoneで全てを拒否しているのでAllなどに変更すると有効となります。
変更後はsystemctlコマンドでapache2.serverを再起動する必要があります。
おまけ
複数ポートで受け付ける設定
nano /etc/apache2/ports.conf
元々「Listen 80」と記述されていると思います。
これは80番ポートで受け付けているという意味です。
複数受け付けたい場合はこの下(どこでもいいがまとめたほうがいい)に追加したいポートを記述します。
Listen 80
Listen 50001
続いてconfファイルを作成し、そこにサイト独自の設定を行います。
<VirtualHost *:50001>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
最後にapacheを再起動します。
systemctl restart apache2.service