ubuntu24.04 サーバー設定アレコレ1 apache2篇 | オタクの深夜徘徊

オタクの深夜徘徊

アニメ、オタクから、その他幅広く興味のあるものについて書いていくブログです。
食事、酒、植物など何でも取り扱っていきます。

ubuntu24.04 サーバーで、自作サーバーを立てたときにぶつかった問題を折角なので記録しておく。

ちゃんと書くのは面倒なので、ヒントを書いておくので詳しくは各自調べてください。

 

1.apache2で、SarverName関係のの警告が出る。

しかもなぜかapache2.confにServerNameを設定するとエラーが出て起動できない。
$ sudo vi /etc/apache2/apache2.conf

#ServerName XXXX

ServerName XXXX

これでエラーが出る。

conf内にコメントアウトして存在するのに関わらず、設定するとエラーに。

これは結局根本理由はわからず。

 

ちなみにこのコマンドで設定が正しいかわかる。

$sudo apache2ctl configtest
 

仕方ないのでどこかのサイトに乗っていた方法で対処

$sudo vi /etc/apache2/conf-available/fqdn.conf

のように、新たな設定ファイルを作成し下記のように記述。

ServerName www.xxxx.com

 

保存したらコンフィグファイルを追加するコマンドを実行する

$sudo a2enconf fqd

 

再起動するとエラーが出なくなった。

$sudo apache2ctl restart


ついでに同じファイルに

DocumentRoot /home/www

と設定しておくとサーバーのドキュメントルートも設定できる

これも何故かapache2.confに書いても反映されない。

 

ちなみにいくつか知っておいたほうがいいコマンドを書いておく

 

a2enconf xxx

個別に作った設定ファイルを有効にするコマンド

例えば

/etc/apache2/conf-available/

の中のxxx.confというファイルの名前を指定すると

/etc/apache2/conf-enable/

にシンボリックリンクを張り、実際に読み込まれるようになる。

新規に.confファイルを作っただけでは有効にならないので注意!

 

a2disconf  xxx

逆に指定したコンフィグを無効化するコマンド

 

他にも

a2enmod

モジュール設定を追加

各種モジュール等はインストールしても、はじめはapacheの設定に追加されていないので、このコマンドで追加しよう。

例$sudo a2enmod ssl

 

a2ensite

バーチャルホスト設定を追加

こちらもあらかじめ設定ファイルを作っておいてから有効にする

 

a2dismod

a2dissite

上記の逆で指定した設定を無効にする

設定ファイル自体はは削除されないので安心

 

apacheをコントロールするには色々と方法がある
アパッチの標準コントロール用プログラム
apache2ctl
 
apache2ctl reload ,start ,restart ,configtest,status
などをオプションで一通りのことができる
ただこれを使って作業すると、ログにapacheの記録が残らないので注意
 
もう一つは汎用的なコマンド
systemctlを使う方法
 
こちらは他のプログラムも制御できるうえ、ログに記録が残る。
systemctl コマンド アプリ名
 
apacheだと
$sudo systemctl start apache2
こんな感じで使う
 
systemctl start,stop,restart,status,reload サービス名
その他コマンド、大体わかると思う。
 
systemctlは様々なアプリを制御するためのもの。
systemctlには各アプリ用の設定ファイルが有り、それがまた頭を混乱させる。
あくまでsystemctlで制御するための設定なので、アプリの設定は各アプリ每にする。
ただサーバー起動時などはsystemctlによりアプリが起動するので、間違ってるとエラーになるので要注意。
 
ちなみにsystemctl用の設定は
/etc/systemd/system/~

以下にxxx.serviceのように設定ファイルが存在する。

それを編集するには直接でなく、

$sudo systemctl  edit --full  apache2

のようにしてエディタを起動し、編集、保存すると良い
この時nanoというエディタが起動するのだが、viに慣れてると使いにくい。
 
余談だが
apachectl
というコマンドもあるが、色々設定をすっ飛ばして動くもののようで、使わないほうがいい。
 
簡単と言われるubuntuでもサーバー構築は大変。
アプリ1つづつの設定と、それを制御するアプリの設定、更にネットワークのセキュリティーの設定など複雑に絡み合うので、一つづつ確実に潰していくしかない。
普通にバグもあったりするので完璧主義過ぎず、ケースバイケースで対処していきましょう。