
CentOS6インストール St.2
CATEGORY LINUX
このページではntp・httpd・mysql・PhpMyadmin・sftp・をインストールしていきます。
CONTENT
1.ntpサーバーインストール
時刻を合わせるNTPサーバーをインストールします。
ntp.nict.jp 「国立研究開発法人 情報通信研究機構」
ntp.jst.mfeed.ad.jp 「インターネットマルチフィード株式会社」
のサーバーと時刻を同期します。
# ntpサーバーインストール v4.2.6
yum install ntp
# ntp設定ファイル
vi /etc/ntp.conf
# ntp.conf
/**********************************************************
# 18行目のコメントアウトを削除
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 22~25行目をコメントアウトして以下を追加
server ntp.nict.jp
server ntp.jst.mfeed.ad.jp
**********************************************************/
# 手動で時刻設定
ntpdate ntp.nict.jp
# ntp起動
service ntpd start
# ntp自動起動
chkconfig ntpd on
# 時刻確認
date
# ntpサーバーインストール v4.2.6
yum install ntp
# ntp設定ファイル
vi /etc/ntp.conf
# ntp.conf
/**********************************************************
# 18行目のコメントアウトを削除
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 22~25行目をコメントアウトして以下を追加
server ntp.nict.jp
server ntp.jst.mfeed.ad.jp
**********************************************************/
# 手動で時刻設定
ntpdate ntp.nict.jp
# ntp起動
service ntpd start
# ntp自動起動
chkconfig ntpd on
# 時刻確認
date
# ntpサーバーインストール v4.2.6 yum install ntp # ntp設定ファイル vi /etc/ntp.conf # ntp.conf /********************************************************** # 18行目のコメントアウトを削除 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # 22~25行目をコメントアウトして以下を追加 server ntp.nict.jp server ntp.jst.mfeed.ad.jp **********************************************************/ # 手動で時刻設定 ntpdate ntp.nict.jp # ntp起動 service ntpd start # ntp自動起動 chkconfig ntpd on # 時刻確認 date
2.httpdサーバーインストール
Apach HTTP Serverをインストールします。
httpのurlは80ポート、[ http//192.168.1.2:80/ ] でアクセスします。
#Apache/2.2.15 (Unix) PHP 5.3.3
yum install httpd php php-mbstring php-mysql
# httpd.confを編集
vi /etc/httpd/conf/httpd.conf
#Apache/2.2.15 (Unix) PHP 5.3.3
yum install httpd php php-mbstring php-mysql
# httpd.confを編集
vi /etc/httpd/conf/httpd.conf
#Apache/2.2.15 (Unix) PHP 5.3.3 yum install httpd php php-mbstring php-mysql # httpd.confを編集 vi /etc/httpd/conf/httpd.conf
httpd.conf
# 44行目書き換え OS名非表示
befor)ServerTokens OS
after)ServerTokens Prod
# 276行目書き換え
befor)ServerName www.example.com:80
after)ServerName centos6.com:80※任意
# 331行目を書き換え CGI許可
befor)Options Indexes FollowSymLinks
after)Options Includes ExecCGI FollowSymLinks
# 338行目を書き換え .htaccess使用可
befor)AllowOverride None
after)AllowOverride All
# 536行目を書き換え サーバー情報非表示
befor)ServerSignature On
after)ServerSignature Off
# 759行目を書き換え 文字化け対策コメントアウト
befor)AddDefaultCharset UTF-8
after)#AddDefaultCharset UTF-8
# 44行目書き換え OS名非表示
befor)ServerTokens OS
after)ServerTokens Prod
# 276行目書き換え
befor)ServerName www.example.com:80
after)ServerName centos6.com:80※任意
# 331行目を書き換え CGI許可
befor)Options Indexes FollowSymLinks
after)Options Includes ExecCGI FollowSymLinks
# 338行目を書き換え .htaccess使用可
befor)AllowOverride None
after)AllowOverride All
# 536行目を書き換え サーバー情報非表示
befor)ServerSignature On
after)ServerSignature Off
# 759行目を書き換え 文字化け対策コメントアウト
befor)AddDefaultCharset UTF-8
after)#AddDefaultCharset UTF-8
# 44行目書き換え OS名非表示 befor)ServerTokens OS after)ServerTokens Prod # 276行目書き換え befor)ServerName www.example.com:80 after)ServerName centos6.com:80※任意 # 331行目を書き換え CGI許可 befor)Options Indexes FollowSymLinks after)Options Includes ExecCGI FollowSymLinks # 338行目を書き換え .htaccess使用可 befor)AllowOverride None after)AllowOverride All # 536行目を書き換え サーバー情報非表示 befor)ServerSignature On after)ServerSignature Off # 759行目を書き換え 文字化け対策コメントアウト befor)AddDefaultCharset UTF-8 after)#AddDefaultCharset UTF-8
# 設定ファイルチェック
httpd -t
# 起動
service httpd start
# 自動起動
chkconfig httpd on
# ディレクトリ所有権変更
chown root:apache /var/www/html
# 確認用ファイルを作成しアクセス
vi /var/www/html/index.php
# index.phpに記述
<?php phpinfo();?>
# 設定ファイルチェック
httpd -t
# 起動
service httpd start
# 自動起動
chkconfig httpd on
# ディレクトリ所有権変更
chown root:apache /var/www/html
# 確認用ファイルを作成しアクセス
vi /var/www/html/index.php
# index.phpに記述
<?php phpinfo();?>
# 設定ファイルチェック httpd -t # 起動 service httpd start # 自動起動 chkconfig httpd on # ディレクトリ所有権変更 chown root:apache /var/www/html # 確認用ファイルを作成しアクセス vi /var/www/html/index.php # index.phpに記述 <?php phpinfo();?>
3.mysqlインストール
MySQLデータベースをインストールします。
# Ver 14.14 Distrib 5.1.73
# mysql インストール
yum install mysql-server
# mysql設定
vi /etc/my.cnf
# my.cnf
/**********************************************************
# 7行目に追加
character-set-server = utf8
**********************************************************/
# 起動
service mysqld start
# 自動起動
chkconfig mysqld on
# 初期設定
mysql_secure_installation
# Ver 14.14 Distrib 5.1.73
# mysql インストール
yum install mysql-server
# mysql設定
vi /etc/my.cnf
# my.cnf
/**********************************************************
# 7行目に追加
character-set-server = utf8
**********************************************************/
# 起動
service mysqld start
# 自動起動
chkconfig mysqld on
# 初期設定
mysql_secure_installation
# Ver 14.14 Distrib 5.1.73 # mysql インストール yum install mysql-server # mysql設定 vi /etc/my.cnf # my.cnf /********************************************************** # 7行目に追加 character-set-server = utf8 **********************************************************/ # 起動 service mysqld start # 自動起動 chkconfig mysqld on # 初期設定 mysql_secure_installation
mysql_secure_installation
# パスワード未設定なので[ enter ]
Enter current password for root (enter for none):enter
# パスワード設定
Set root password? [Y/n]enter
# パスワード入力
New password: xxxxxxxxxx
# パスワード再入力
Re-enter new password: xxxxxxxxxx
# 匿名ユーザー削除
Remove anonymous users? [Y/n] y enter
# リモートルートログイン禁止
Disallow root login remotely? [Y/n] y enter
# リロード
Reload privilege tables now? [Y/n] y enter
# パスワード未設定なので[ enter ]
Enter current password for root (enter for none):enter
# パスワード設定
Set root password? [Y/n]enter
# パスワード入力
New password: xxxxxxxxxx
# パスワード再入力
Re-enter new password: xxxxxxxxxx
# 匿名ユーザー削除
Remove anonymous users? [Y/n] y enter
# リモートルートログイン禁止
Disallow root login remotely? [Y/n] y enter
# リロード
Reload privilege tables now? [Y/n] y enter
# パスワード未設定なので[ enter ] Enter current password for root (enter for none):enter # パスワード設定 Set root password? [Y/n]enter # パスワード入力 New password: xxxxxxxxxx # パスワード再入力 Re-enter new password: xxxxxxxxxx # 匿名ユーザー削除 Remove anonymous users? [Y/n] y enter # リモートルートログイン禁止 Disallow root login remotely? [Y/n] y enter # リロード Reload privilege tables now? [Y/n] y enter
# mysqlにログイン
mysql -u root -p
# パスワード入力
xxxxxxxxxx
ログアウト
exit
# mysqlにログイン
mysql -u root -p
# パスワード入力
xxxxxxxxxx
ログアウト
exit
# mysqlにログイン mysql -u root -p # パスワード入力 xxxxxxxxxx ログアウト exit
4.phpMyAdminインストール
phpMyAdminをインストールします。
インストール済みのmysqlが5.1、phpが5.3.3なので、適応する最新バージョンの4.0.10.20をインストールする。ポートベースでVirtualHostを設定する、phpMyAdminのポートを8080に変更。アクセス可能なクライアントアドレスも設定。
phpMyAdminのurlは8080ポート、[ http//192.168.1.2:8080/ ] でアクセスします。
# インストールするディレクトリに移動
cd /var/www/html/
# wgetコマンドがないのでインストール
yum install wget
# 公式よりダウンロード
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
# 解凍
tar zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz
# リネーム
mv phpMyAdmin-4.0.10.20-all-languages /var/www/phpMyAdmin
# 所有者変更
chown -R root:apache /var/www/phpMyAdmin/
# ダウンロードファイルを削除
rm -f phpMyAdmin-4.0.10.20-all-languages.tar.gz
# インストールするディレクトリに移動
cd /var/www/html/
# wgetコマンドがないのでインストール
yum install wget
# 公式よりダウンロード
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
# 解凍
tar zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz
# リネーム
mv phpMyAdmin-4.0.10.20-all-languages /var/www/phpMyAdmin
# 所有者変更
chown -R root:apache /var/www/phpMyAdmin/
# ダウンロードファイルを削除
rm -f phpMyAdmin-4.0.10.20-all-languages.tar.gz
# インストールするディレクトリに移動 cd /var/www/html/ # wgetコマンドがないのでインストール yum install wget # 公式よりダウンロード wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz # 解凍 tar zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz # リネーム mv phpMyAdmin-4.0.10.20-all-languages /var/www/phpMyAdmin # 所有者変更 chown -R root:apache /var/www/phpMyAdmin/ # ダウンロードファイルを削除 rm -f phpMyAdmin-4.0.10.20-all-languages.tar.gz
http.conf
# httpd.conf設定
vi /etc/httpd/conf/httpd.conf
# 276行目をコメントアウト
befor) ServerName centos6.com:80
after)#ServerName centos6.com:80
# 990行目のコメントアウトを削除
befor)#NameVirtualHost *:80
after) NameVirtualHost *:80
# 最終行に追加
# 公開ディレクトリ用ドキュメントルート
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName centos6.com
</VirtualHost>
# phpmyadmin用ドキュメントルートipを指定して開放
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot /var/www/phpMyAdmin
ServerName phpmyadmin.com
<Directory />
Order deny,allow
Deny from all
Allow from 192.168.1.3
</Directory>
</VirtualHost>
# httpd.conf設定
vi /etc/httpd/conf/httpd.conf
# 276行目をコメントアウト
befor) ServerName centos6.com:80
after)#ServerName centos6.com:80
# 990行目のコメントアウトを削除
befor)#NameVirtualHost *:80
after) NameVirtualHost *:80
# 最終行に追加
# 公開ディレクトリ用ドキュメントルート
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName centos6.com
</VirtualHost>
# phpmyadmin用ドキュメントルートipを指定して開放
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot /var/www/phpMyAdmin
ServerName phpmyadmin.com
<Directory />
Order deny,allow
Deny from all
Allow from 192.168.1.3
</Directory>
</VirtualHost>
# httpd.conf設定 vi /etc/httpd/conf/httpd.conf # 276行目をコメントアウト befor) ServerName centos6.com:80 after)#ServerName centos6.com:80 # 990行目のコメントアウトを削除 befor)#NameVirtualHost *:80 after) NameVirtualHost *:80 # 最終行に追加 # 公開ディレクトリ用ドキュメントルート <VirtualHost *:80> DocumentRoot /var/www/html ServerName centos6.com </VirtualHost> # phpmyadmin用ドキュメントルートipを指定して開放 Listen 8080 NameVirtualHost *:8080 <VirtualHost *:8080> DocumentRoot /var/www/phpMyAdmin ServerName phpmyadmin.com <Directory /> Order deny,allow Deny from all Allow from 192.168.1.3 </Directory> </VirtualHost>
iptableの任意の場所に80と8080の設定を追加する。
# iptables編集
vi /root/iptables/iptablesHome.sh
# httpd用80ポート
echo "-A INPUT -p tcp --dport 80 -j ACCEPT" >> $IPTABLES_CONFIG
# phpMyAdmin用8080ポート、接続するipを指定して開放
echo "-A INPUT -p tcp --dport 8080 -s 192.168.1.3 -j ACCEPT" >> $IPTABLES_CONFIG
# スクリプト実行
/root/iptables/iptablesHome.sh
# iptables編集
vi /root/iptables/iptablesHome.sh
# httpd用80ポート
echo "-A INPUT -p tcp --dport 80 -j ACCEPT" >> $IPTABLES_CONFIG
# phpMyAdmin用8080ポート、接続するipを指定して開放
echo "-A INPUT -p tcp --dport 8080 -s 192.168.1.3 -j ACCEPT" >> $IPTABLES_CONFIG
# スクリプト実行
/root/iptables/iptablesHome.sh
# iptables編集 vi /root/iptables/iptablesHome.sh # httpd用80ポート echo "-A INPUT -p tcp --dport 80 -j ACCEPT" >> $IPTABLES_CONFIG # phpMyAdmin用8080ポート、接続するipを指定して開放 echo "-A INPUT -p tcp --dport 8080 -s 192.168.1.3 -j ACCEPT" >> $IPTABLES_CONFIG # スクリプト実行 /root/iptables/iptablesHome.sh
192.168.1.2:8080に接続確認。
5.sftp設定
sftpサーバーをインストールします。
パスワード認証での接続。
# ユーザー作成
useradd sftp_user
# ユーザー「sftp_user」のパスワードを設定
passwd sftp_user
# [sftp_user]グループ作成
groupadd sftp_group
# ユーザー「sftp_user」を「sftp_group」に追加
usermod -G sftp_group sftp_user
# sftp設定
vi /etc/ssh/sshd_config
# 132行目をコメントアウト
befor)Subsystem sftp /usr/libexec/openssh/sftp-server
after)#Subsystem sftp /usr/libexec/openssh/sftp-server
# 133行目に追加
Subsystem sftp internal-sftp
# 最終行に追加 ※sftp_groupのユーザーに対する設定
Match Group sftp_group #先程設定したSFTPのグループを指定
ChrootDirectory /var/www/html #SFTPの接続先を指定
ForceCommand internal-sftp
# ディレクトリ変更とログインシェルを無効
usermod -d /var/www/html -s /sbin/nologin sftp_user
# sshdを起動
service sshd start
# sshdを自動起動
chkconfig sshd on
# chrootするディレクトリ(/var/www/html)は所有者をroot:rootパーミッションを755にする。(※所有者root:xxxパーミッション755にしないと接続できない。)
# chroot以下のディレクトリの所有者やパーミッションをsftp_userで書き込みできるように変更して運用する。
chown root:root /var/www/html
chmod 755 /var/www/html
# 接続確認
sftp sftp_user@192.168.1.2
# ユーザー作成
useradd sftp_user
# ユーザー「sftp_user」のパスワードを設定
passwd sftp_user
# [sftp_user]グループ作成
groupadd sftp_group
# ユーザー「sftp_user」を「sftp_group」に追加
usermod -G sftp_group sftp_user
# sftp設定
vi /etc/ssh/sshd_config
# 132行目をコメントアウト
befor)Subsystem sftp /usr/libexec/openssh/sftp-server
after)#Subsystem sftp /usr/libexec/openssh/sftp-server
# 133行目に追加
Subsystem sftp internal-sftp
# 最終行に追加 ※sftp_groupのユーザーに対する設定
Match Group sftp_group #先程設定したSFTPのグループを指定
ChrootDirectory /var/www/html #SFTPの接続先を指定
ForceCommand internal-sftp
# ディレクトリ変更とログインシェルを無効
usermod -d /var/www/html -s /sbin/nologin sftp_user
# sshdを起動
service sshd start
# sshdを自動起動
chkconfig sshd on
# chrootするディレクトリ(/var/www/html)は所有者をroot:rootパーミッションを755にする。(※所有者root:xxxパーミッション755にしないと接続できない。)
# chroot以下のディレクトリの所有者やパーミッションをsftp_userで書き込みできるように変更して運用する。
chown root:root /var/www/html
chmod 755 /var/www/html
# 接続確認
sftp sftp_user@192.168.1.2
# ユーザー作成 useradd sftp_user # ユーザー「sftp_user」のパスワードを設定 passwd sftp_user # [sftp_user]グループ作成 groupadd sftp_group # ユーザー「sftp_user」を「sftp_group」に追加 usermod -G sftp_group sftp_user # sftp設定 vi /etc/ssh/sshd_config # 132行目をコメントアウト befor)Subsystem sftp /usr/libexec/openssh/sftp-server after)#Subsystem sftp /usr/libexec/openssh/sftp-server # 133行目に追加 Subsystem sftp internal-sftp # 最終行に追加 ※sftp_groupのユーザーに対する設定 Match Group sftp_group #先程設定したSFTPのグループを指定 ChrootDirectory /var/www/html #SFTPの接続先を指定 ForceCommand internal-sftp # ディレクトリ変更とログインシェルを無効 usermod -d /var/www/html -s /sbin/nologin sftp_user # sshdを起動 service sshd start # sshdを自動起動 chkconfig sshd on # chrootするディレクトリ(/var/www/html)は所有者をroot:rootパーミッションを755にする。(※所有者root:xxxパーミッション755にしないと接続できない。) # chroot以下のディレクトリの所有者やパーミッションをsftp_userで書き込みできるように変更して運用する。 chown root:root /var/www/html chmod 755 /var/www/html # 接続確認 sftp sftp_user@192.168.1.2