報告書 #995

月額サイトサーバ構築手順書

秋山 創介ほぼ8年前に追加.

ステータス:新規開始日:2017/03/17
優先度:通常期日:
担当者:秋山 創介作業時間の記録:-
カテゴリ:-

説明

■ネームサーバーの変更■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
お名前.com管理画面で
ネームサーバーの変更>○他のネームサーバーを利用
プライマリネームサーバーにns1.dns.ne.jp
セカンダリネームサーバーにns2.dns.ne.jp

さくらの管理画面で
ネームサーバ登録>ドメイン記入
ゾーン編集でサーバのIPアドレスを指定
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
さくらのVPSを「本登録」に。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●adminユーザーの追加
  1. useradd admin

●言語設定
vi /etc/sysconfig/i18n
#LANG="C"
LANG=ja_JP.UTF-8
SYSFONT="latarcyrheb-sun16"

●タイムゾーン設定
$ sudo cp -p /usr/share/zoneinfo/Japan /etc/localtime

●httpdのインストール(以下すべて、rootで作業)
%yum install httpd
自動起動をONにする。
%chkconfig | grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
%chkconfig httpd on
%chkconfig | grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

●mysqlのインストール
%yum install mysql-server mysql-devel
自動起動をONにする。
%chkconfig | grep mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
%chkconfig mysqld on
%chkconfig | grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

●phpのインストール
%yum install php php-mysql php-pear php-mbstring php-devel php-gd php-xml php-xmlrpc

●pcre-develのインストール
%yum install pcre-devel

●APCのインストール
%pecl install apc
※いろいろ聞かれるけど、すべてEnterを押せばよい
 ※さくらインターネットの場合のみ必要

◆実行権限の付与
%chmod +x /usr/lib64/php/modules/apc.so
※さくらインターネットの場合のみ必要
◆/etc/php.iniの設定
extension_dirの所を、以下のように変更する。
; extension_dir = "./" 
extension_dir = "/usr/lib64/php/modules/"
extension=apc.so
date.timezone = "Asia/Tokyo"
●さくらのみ?iptablesに追加
vi /etc/sysconfig/iptables
  1. Firewall configuration written by system-config-firewall
  2. Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

#↓この4行を追加する####################################################
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

●phpinfoで環境の確認
◆apacheの起動
%[root@www7195uf ~]# /etc/init.d/httpd start
Starting httpd: [ OK ]
[root@www7195uf ~]# ps -efl | grep httpd
5 S root 6645 1 0 80 0 - 83548 poll_s 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6647 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6648 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6649 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6650 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6651 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6652 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6653 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
5 S apache 6654 6645 0 80 0 - 83548 inet_c 18:04 ? 00:00:00 /usr/sbin/httpd
0 S root 6656 1382 0 80 0 - 1593 pipe_w 18:04 pts/0 00:00:00 grep httpd

◆phpinfoの仕込み
/var/www/html下にスクリプトphpinfo.phpを用意する。

コマンドラインからはphp -r 'phpinfo();'

◆確認
以下にアクセス

http://【localhostのIPアドレス】/phpinfo.php
※APC、mysql等が表示されることの確認。
※ブラウザで
とコマンドが表示されてしまう時は、以下のコマンドを打つ
  1. vim /etc/httpd/conf/httpd.conf
  2.AddType application/x-httpd-php .php がなければ追加
  3.DirectoryIndex index.html index.htm index.cgi

   DirectoryIndex index.html index.htm index.cgi index.php に変更

●MySQLの設定

◆mysqlの起動
[root@www7195uf ~]# /etc/init.d/mysqld start

◆mysqlの初期設定
[root@www7195uf ~]# mysql_secure_installation
rootのパスワード設定以外は、EnterでOK。

◆mysqlコマンドで確認
mysql> show databases;
------------------ | Database |
------------------ | information_schema | | mysql |
------------------
2 rows in set (0.01 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from user;
---------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
---------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | localhost | root | *29FDB63287417EF9C587D2A9D1417B65BBEF5C04 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | 127.0.0.1 | root | *29FDB63287417EF9C587D2A9D1417B65BBEF5C04 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
---------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
2 rows in set (0.00 sec)

●DocumentRootに書き込み権限付与

[root@www7195uf ~]# chmod 777 /var/www
もしくは
[root@www7195uf ~]# chmod -R 777 /var/www/アプリ名/app/tmp
[root@www7195uf ~]# chmod -R 777 /var/www/アプリ名/app/webroot

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
※DTIのVPSは時刻を合わせてくれるので、NTPインストール不要
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
●postfixのインストール
※DTIのみ。さくらはインストール済みになってる

  1. yum install postfix
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package postfix.x86_64 2:2.6.6-6.el6_5 will be installed
    --> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
Package Arch Version Repository Size ========================================================================================================================
Installing:
postfix x86_64 2:2.6.6-6.el6_5 base 2.0 M

Transaction Summary ========================================================================================================================
Install 1 Package(s)

Total download size: 2.0 M
Installed size: 9.7 M
Is this ok [y/N]: y
Downloading Packages:
postfix-2.6.6-6.el6_5.x86_64.rpm | 2.0 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:postfix-2.6.6-6.el6_5.x86_64 1/1
Verifying : 2:postfix-2.6.6-6.el6_5.x86_64 1/1

Installed:
postfix.x86_64 2:2.6.6-6.el6_5

Complete!
[root@goodsname admin]#
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

●自動起動をONにする。
 # chkconfig | grep postfix
 # chkconfig postfix on
 # chkconfig | grep postfix
  postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off

●vi /etc/postfix/main.cf

#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = XXXXXXXXXX.com

#mydomain = domain.tld
mydomain = XXXXXXXXXX.com

#myorigin = $myhostname
myorigin = $mydomain

#inet_interfaces = localhost
inet_interfaces = all

#mynetworks_style = class
#mynetworks_style = subnet
mynetworks_style = host

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination

message_size_limit = 10485760

●rootで
  1. mkdir -p /etc/skel/Maildir/{new,cur,tmp}
  2. chmod -R 700 /etc/skel/Maildir/

に送信したメールが届いているかチェック
cat /var/spool/mail/admin

■git flowインストール
$ cd /usr/local/src/
$ git clone --recursive git://github.com/nvie/gitflow.git
$ cd gitflow/
$ make install

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
お疲れ様です。
矢野です。

月額サイトのDBを定期的に遠隔バックアップするように
システム変更しました。

●対象月額サイトは、以下の通りです。
・家族デコメ
・俺の壁紙
・サバスターズ
・歴史デコメ
・日本の城
・あなたの知らない世界
・Dr.スタンプちゃん
・wall streat
・プロジェクト英Q!
・119番その前に!

●バックアップ先のサーバは、以下の通りです。
・49.212.24.211(nagios監視サーバ)
/home/admin/getsugaku 下

●バックアップ方法
・nagios監視サーバから、定期的にmysqldumpをリモートで実行し
 DBのフルバックアップを取得しています。
 ※詳細については、 /home/admin/getsugaku/db_backup.shを
  確認してください。
 ※リモートバックアップを許可するには、受け入れ元のサーバの
  mysqlにnagios監視サーバからのアクセスを許可する必要があります。

  GRANT SELECT ON データベース名.* TO IDENTIFIED BY 'データベースパスワード';

今後、月額サイトが増えるたびに、nagios監視を追加するとともに
このDBリモートバックアップの設定も行ってください。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★NTPもnagios監視するなら、月額サーバ側の/etc/ntp.conf

restrict 49.212.24.211
を追記。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
bashのプロンプトカラー変更
vi /etc/profile
  1. Color:30~37 BackGroundColor:40~47 ####
    export PS1="\[\e[0;37;45m\][\u@\h \W]\$\[\e[0m\]"

cd /var/www/dogs_archive

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
vi /etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html"
DocumentRoot "/var/www/world_mountains/app"

<Directory />
Options FollowSymLinks
  1. AllowOverride None
    AllowOverride All
    </Directory>

#<Directory "/var/www/html">
<Directory "/var/www/world_mountains/app">

  1. AllowOverride None
    AllowOverride All

#EnableSendfile off
EnableSendfile off

<Directory "/var/www/icons">
Options Indexes MultiViews FollowSymLinks
  1. AllowOverride None
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>

他の形式にエクスポート: Atom PDF