以下。httpd.confが他ファイルをインクルードしている場合はそれらもチェックされる。
1 |
$ apachectl configtest |
参考サイト
apachectl – Apache HTTP Server Control Interface – Apache HTTP Server Version 2.2
https://httpd.apache.org/docs/2.2/programs/apachectl.html
最近はウェブ系アプリ中心、あとWindowsアプリちょっと
以下。httpd.confが他ファイルをインクルードしている場合はそれらもチェックされる。
1 |
$ apachectl configtest |
apachectl – Apache HTTP Server Control Interface – Apache HTTP Server Version 2.2
https://httpd.apache.org/docs/2.2/programs/apachectl.html
crontab(cron)設定確認方法 | server-memo.net
http://www.server-memo.net/tips/crontabfile.html
crontabの書き方 | server-memo.net
http://www.server-memo.net/tips/crontab.html
/etc/crontabと/etc/cron.d設定ファイルの書き方 | server-memo.net
http://www.server-memo.net/tips/etc-crontab.html
第25回 cron周りのベストプラクティス(1):Perl Hackers Hub|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002501
第25回 cron周りのベストプラクティス(2):Perl Hackers Hub|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002502
コマンドラインでPHPを使うときの11のTips | Suinasia
http://suin.asia/2011/04/03/command_line_php_11_tips
Visual StudioのGUIDGENみたいなツールがないかと探したらあったので覚え書き。
1 2 3 4 5 6 |
$ uuidgen 305b5b0c-4ebe-48e3-a60c-a3ed398b7724 $ uuidgen 4487a48a-aaee-461f-838d-3db34c8431ee $ uuidgen bbee644e-e177-4a58-aff1-8acdbfa4d19c |
Man page of UUIDGEN
https://linuxjm.osdn.jp/html/e2fsprogs/man1/uuidgen.1.html
ウェブサーバーの設定でちょっとハマッたので覚え書き
ウェブページを配置するディレクトリ/var/wwwに関して
両方のユーザから操作できるディレクトリはどうやって設定するべきか?
ユーザsuzukiにグループapacheを追加
1 |
$ sudo gpasswd -a suzuki apache |
/var/wwwの所有者をapache、所有グループをapacheに変更
1 |
$ sudo chown apache:apache /var/www |
/var/wwwのパーミッションを775に変更 (グループに読み書き権限を与える)
1 |
$ sudo chmod 775 /var/www |
/var/wwwにSGIDを付与する
1 |
$ sudo chmod 2775 /var/www |
umaskが002になっていることを確認する(なっていなければ、ログインスクリプトなどに設定する)。
以上の設定により、以降に作成されるサブディレクトリやファイルの所有グループは全てapacheとなるため、wwwディレクトリ以下はsuzukiとapacheの両方で問題なく操作できるようになる。
Linux|共同作業用のグループとパーミッション設定方法(UGP) | blog onk
http://blog.onk164.net/archives/272.html
Linux – グループ開発時の権限設定 – Qiita
http://qiita.com/soramugi/items/53478cbee857815c4a37
SGID(Set Group ID) – 特殊なアクセス権
http://kazmax.zpp.jp/linux_beginner/setgroupid.html
Linuxコマンド【 groups 】ユーザーの所属グループを表示 – Linux入門 – Webkaru
http://webkaru.net/linux/groups-command/
長らく運営しているMODxベースのサイトがマルウェアに感染していた。見つけたのはホント偶然で、何気なくブラウザでページソースを表示してみたら、ページ末尾にSPAMリンクらしきものが埋め込まれいるのを発見。以前にも感染したことがあって、そのときはGoogleからのメールで知らされた。2度目となるとさすがにショックは隠しきれない。ネットを検索したらドンピシャの事例を見つけたので、それに倣って対処する。
MODx Evolution 1.0.15。これは現時点の最新版。だけど、最新版がそう易々とマルウェアに感染するとは思えないので、もしかして以前に感染したときに駆除しきれずに残っていたのかも。以前の対処ではMODxを最新版にアップグレードしたんだけど、もしマルウェアがDBに仕込まれていたとしたら、駆除しきれずに残っていた可能性もある。
MODxが生成したページの末尾に以下のようなSPAMリンクが埋め込まれる。
1 |
<div style="position:absolute;left:-2311px;top:-2794px;"><a href="http://xxxx">xxxx</a> .... </div> |
マルウェアの挙動をするプラグインが仕込まれていた。DBのmodx_site_pluginsテーブルに追加されている「Quick ManagerManager」というプラグインがそれ。
MODx Evolution: removing spam links | Dae’s blog
http://dae.me/blog/1697/modx-evolution-removing-spam-links/
DigitalOceanはドキュメントが充実していて助かる。
How To Use SSH Keys with DigitalOcean Droplets | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets
Initial Server Setup with CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7
Additional Recommended Steps for New CentOS 7 Servers | DigitalOcean
https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers
How To Set Up a Host Name with DigitalOcean | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean
How To Set Up Apache Virtual Hosts on CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7
How To Install Linux, Apache, MySQL, PHP (LAMP) stack On CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7
How To Install and Secure phpMyAdmin with Apache on a CentOS 7 Server | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-apache-on-a-centos-7-server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
$ sudo yum install mariadb-server mariadb $ sudo systemctl start mariadb $ sudo mysql_secure_installation Enter current password for root (enter for none): Set root password? [Y/n] New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] ... Success! Disallow root login remotely? [Y/n] ... Success! Remove test database and access to it? [Y/n] - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] ... Success! $ sudo systemctl enable mariadb.service |
1 2 |
$ sudo yum install php php-mysql $ sudo systemctl restart httpd.service |
1 2 3 4 5 6 |
$ sudo yum install epel-release $ sudo yum install phpmyadmin $ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf Require ip <アクセス元IP> Allow from <アクセス元IP> $ sudo systemctl restart httpd.service |
確認: http://サーバーIP/phpMyAdmin
Apacheのインストール
1 |
$ sudo yum -y install httpd |
ブート時の自動起動設定
1 |
$ sudo systemctl enable httpd.service |
バーチャルホストごとのパブリックディレクトリを作成
1 2 3 4 5 6 7 |
$ sudo mkdir -p /var/www/foo.com/public_html $ sudo mkdir -p /var/www/foo.com/logs $ sudo mkdir -p /var/www/bar.com/public_html $ sudo mkdir -p /var/www/bar.com/logs $ sudo chown -R $USER:$USER /var/www/foo.com $ sudo chown -R $USER:$USER /var/www/bar.com $ sudo chmod -R 755 /var/www |
バーチャルホストごとの設定ファイル格納ディレクトリを作成
1 2 3 4 |
$ sudo mkdir /etc/httpd/sites-available ←全バーチャルホストの設定を格納 $ sudo mkdir /etc/httpd/sites-enabled ←公開バーチャルホストの設定を格納 $ sudo vi /etc/httpd/conf/httpd.conf IncludeOptional sites-enabled/*.conf ←末尾に追加 |
バーチャルホストごとの設定ファイルを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
$ sudo vi /etc/httpd/sites-available/foo.com.conf <VirtualHost *:80> ServerName www.foo.com ServerAlias foo.com DocumentRoot /var/www/foo.com/public_html ErrorLog /var/www/foo.com/logs/error_log CustomLog /var/www/foo.com/logs/access_log combined </VirtualHost> ↓以下はhttpd.confからコピペして変更 # # Relax access to content within /var/www/foo.com. # <Directory "/var/www/foo.com"> AllowOverride None # Allow open access: Require all granted </Directory> # Further relax access to the default document root: <Directory "/var/www/foo.com/public_html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None ← .htaccessを使いたいので変更 AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory> $ sudo vi /etc/httpd/sites-available/bar.com.conf .... |
バーチャルホストを公開してApacheを起動
1 2 3 |
$ sudo ln -s /etc/httpd/sites-available/bar.com.conf /etc/httpd/sites-enabled/bar.com.conf $ sudo ln -s /etc/httpd/sites-available/foo.com.conf /etc/httpd/sites-enabled/foo.com.conf $ sudo apachectl restart |
デフォルトだと標準インストールのログしかローテートされないので、バーチャルホストのログもローテートされるように設定を追加しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
$ sudo vi /etc/logrotate.d/httpd /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } /var/www/foo.com/logs/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } /var/www/bar.com/logs/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } |
Apache ウェブサーバーで .htaccess を利用するには | XpressOne Knowledge Base 「サポート技術情報」
http://kb.xpressone.net/2566
【apache】httpd.confの文法チェックを行う
http://www.kishiro.com/apache/config_syntax_check.html
Apacheのログを日毎にしてみる – yk5656 diary
http://d.hatena.ne.jp/yk5656/20140523/1402455511
2GBのスワップの作成例
1 2 3 4 5 |
$ sudo fallocate -l 2G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile $ sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab' |
topコマンドで確認
1 2 3 4 5 6 7 |
$ top top - 13:08:27 up 2:59, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 68 total, 2 running, 66 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 501144 total, 118128 free, 65832 used, 317184 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 342616 avail Mem |
NTPサービスのインストール
1 |
$ sudo yum install ntp |
NTPサービスの起動
1 |
$ sudo systemctl start ntpd |
ブート時の自動起動設定
1 |
$ sudo systemctl enable ntpd |