自宅サーバが起動しなくなったのでLighttpdで全ページ503を返すようにしました.
思ったよりアクセスが多いのでアクセスの多いドメインのDNSを変更して外のサーバに向けることにしました.
このサーバはApache httpdが動いているのでLighttpdと同じ設定は使えないので少し調べて設定してみました.
自宅サーバが起動しなくなったのでLighttpdで全ページ503を返すようにしました.
思ったよりアクセスが多いのでアクセスの多いドメインのDNSを変更して外のサーバに向けることにしました.
このサーバはApache httpdが動いているのでLighttpdと同じ設定は使えないので少し調べて設定してみました.
以前軽量TwitterフロントエンドのNitter をセルフホストしました.
最近アクセスが増えていて少しサーバが重くなったり自分が使うときに調子が悪かったりしています.クローラなんかが多いようなのでこれを robots.txt
で拒否すると大分アクセスが減るのではと思い設定してみました.
update-alternatives で OK かなと思ったのですが,
$ sudo update-alternatives --config php There are 2 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status -------------------- * 0 /usr/bin/php7.0 70 auto mode 1 /usr/bin/php5 50 manual mode 2 /usr/bin/php7.0 70 manual mode Press <enter> to keep the current choice[*], or type selection number: 0 $ php -v PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.30-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
apache では php5 のままです.
$ w3m -dump http://localhost/phpinfo.php|grep -m1 'PHP Version' PHP Version 5.6.30-0+deb8u1
apache module を切り替えたらokでした.
$ sudo a2dismod php5 $ sudo a2enmod php7.0 $ systemctl restart apache2
$ dpkg-query -W apache2 php5 libapache2-mod-php5 php7.0 libapache2-mod-php7.0 apache2 2.4.25-3+deb9u5 libapache2-mod-php5 5.6.30+dfsg-0+deb8u1 libapache2-mod-php7.0 7.0.30-0+deb9u1 php5 5.6.30+dfsg-0+deb8u1 php7.0 7.0.30-0+deb9u1 $ lsb_release -d Description: Debian GNU/Linux 9.5 (stretch) $ uname -m x86_64
apahce httpd 2.2.(wheezy)から2.4.(jessie)への移行で適当なサーバをえいやで上げて動かなくなったのを復旧したメモ.
/etc/apache2/sites-enabled/
以下には設定ファイルがあるのに読み込まれず default しか表示されない.
sites-available
からリンクを貼り直そうとするとエラーとなる
$ sudo a2dissite example.com
ERROR: Site example.com does not exist!
$ sudo rm /etc/apache2/sites-enabled/example.com
$ sudo a2ensite example.com
ERROR: Site example.com does not exist!
エラーメッセージで検索するとファイル名を *.conf にすれば良いよう.
この部分の該当場所は /etc/apache2/apache2.conf
のここ
IncludeOptional sites-enabled/*.conf
2.2からの変更を確認するとこのように変わっていた.
# Include the virtual host configurations:
-Include sites-enabled/
+IncludeOptional sites-enabled/*.conf
ということでこんな感じで
$ sudo rm /etc/apache2/sites-enabled/example.com
$ sudo mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
$ sudo a2ensite example.com.conf
設定ファイルの数が多かったら /etc/apache2/apache2.conf
の設定を * にしても良いかも(未検証)
-IncludeOptional sites-enabled/*.conf
+IncludeOptional sites-enabled/*
エラーログは以下のような感じ.見慣れないエラー.
[authz_core:error] [pid 20566] [client nnn.nnn.nnn.nnn:49821] AH01630: client denied by server configuration: /var/www
以下のガイドを見るとどうもacl 周りのコマンド変更のようで
Order deny,allow
Deny from all
の代わりに
Require all granted
で動くようになった.