[USP友の会]第1回 一撃サーバー構築シェルスクリプト勉強会 回答#3

MySQL設定(クリックで大きくなります)

PARAMFILE=${HOME}/.mysql/MySQLPARAM
mkdir ${HOME}/.mysql
chkconfig mysqld on
service mysqld start

# MySQLのrootユーザとパスワードを作成し、パラメーターファイルに格納する。
# 書式は user root
echo "user root $(cat /dev/urandom | tr -dc '[:alnum:]' | head -c 8)" > ${PARAMFILE}

# WordPressのDBに関してパラメーターファイルに格納する。
# 書式は DBPARAM DB名 DBユーザー名
echo "DBPARAM ${DBNAME} ${DBUSER} $(cat /dev/urandom | tr -dc '[:alnum:]' | head -c 8)" >> ${PARAMFILE}

# MySQLのrootユーザーのパスワードを設定する。
mysqladmin -u root password "$(grep ^user ${PARAMFILE} | awk '{print $NF}')"

# WordPressのデータベースを作成する。
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "create database ${DBNAME} character set utf8;"

# DBユーザー(WordPressデータベース接続用)のパスワードを変数PWに格納する。
PW=$(grep ^DBPARAM ${PARAMFILE} | awk '{print $NF}')

# DBユーザーを作成する。
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "GRANT ALL PRIVILEGES on ${DBNAME}.* to ${DBUSER}@localhost identified by "${PW}";"

# mysql_secure_installation
# 匿名ユーザーの削除
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "DELETE FROM mysql.user WHERE User='';"

# localhost以外からのrootログイン禁止
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"

# testデータベース削除
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "DROP DATABASE test;"

# 権限情報の再読込
mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}')
-e "FLUSH PRIVILEGES;"

 

 

PHP設定(クリックで大きくなります)

# php.ini Configuration
cd /etc
cp -p php.ini php.ini.orig
sed -i 's/;date.timezone =/;##--@--##date.timezone =ndate.timezone = Asia/Tokyo/' php.ini

# PHP-FPM Configuration
cd /etc/php-fpm.d
cp -p www.conf www.conf.orig
sed -i 's/^user = apache/;user = apachenuser = nginx/' www.conf
sed -i 's/^group = apache/;group = apachengroup = nginx/' www.conf

service php-fpm start
chkconfig php-fpm on