CentOS7のインストール

CentOS は最小パッケージでインストール
メディアからのインストール手順は割愛します

OS環境設定

ssh の root 接続の停止

/etc/ssh/sshd_config
PermitRootLogin no
$ systemctl restart sshd.service
ssh プロセスの再起動

selinuxのオフ

/etc/sysconfig/selinux

SELINUX=enforcing

SELINUX=disabled
※ファイルアップロードができなくなる為、nginxの詳細設定したあとnginxを起動すると立ち上がらなくなる事がある為、早めに再起動する事

ユーザの作成

作業ユーザ example の作成

groupadd example
useradd example -g example
passwd example

nginxユーザ環境の構築

groupadd nginx
useradd -s /usr/sbin/nologin -g nginx -d /var/www -c nginx nginx

Firewall の設定

デフォルトは ssh のポートしか空いてないので、http のポートを開ける。

ステータスの確認
firewall-cmd --state
running
空いてるポート番号を確認
firewall-cmd --list-services
dhcpv6-client ssh
解放と再起動後戻らないよう恒久化設定
firewall-cmd --add-service=http
firewall-cmd --permanent --add-service=http
firewall-cmd --add-service=https
firewall-cmd --permanent --add-service=https
firewall-cmd --add-port=1234/tcp
firewall-cmd --permanent --add-port=1234/tcp

ローカル用解放設定
cp -p /usr/lib/firewalld/zones/public.xml /etc/firewalld/zones/mokuteki.xml
Shortの名前を設定するZone名に変更し、デフォルトの2行のサービスは削除する。
firewall-cmd --reload
リロードしないと設定したゾーンが反映しない
firewall-cmd --add-source=192.168.0.0/24 --zone=mokuteki
firewall-cmd --permanent --add-source=192.168.0.0/24 --zone=mokuteki
firewall-cmd --add-service=mysql --zone=mokuteki
firewall-cmd --permanent --add-service=mysql --zone=mokuteki
MySQLをローカルからアクセスできるようにする。
mysql > grant all privileges on *.* to root@'192.168.0.%';)
Mysql > flush privileges;
systemctl restart mariadb;

yumコマンドによるインストール

wgetのインストール

yum install wget

mailコマンドのインストール

yum install mailx

zip, unzip, bzip2, bunzip2 コマンドのインストール

yum install zip unzip bzip2

locate, updatedb コマンドのインストール

yum install mlocate

C,C++コンパイラのインストール

yum install gcc gcc-c++

phpのインストール

yum install php-mysql php php-gd php-mbstring php-fpm php-devel
php-develは Mecab と php の連動の時に必要になる

MariaDBのインストール

yum install mariadb mariadb-server

nginxのインストール

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx

PHP APC のインストール

PHPアクセラレータでコンパイルした結果をキャッシュにためることで処理を高速化する。
yum install php-pear
pecl install apc
/etc/php.d/apc.ini に以下の行を追加
extension=apc.so
apc.shm_size = 24M
apc.mmap_file_mask=/dev/zero

snmpのインストール

yum install net-snmp net-snmp-utils
systemctl enable snmpd
systemctl start snmpd

rrdtoolのインストール

yum install rrdtool

cactiのインストール

wget http://www.cacti.net/downloads/cacti-0.8.8c.tar.gz
tar xvfz cacti-0.8.8c.tar.gz
cd cacti-0.8.8c

mysql -u root -pyourpassword "create database cacti"
mysql -u root -pyourpassword cacti < cacti.sql 

監視プログラムを cron に設定

*/5  * * * * /bin/php /YOURPATH/cacti/poller.php

システム構築(各種アプリの設定)

php-fpmの設定

/etc/php-fpm.d/www.confの編集

;user = apache
user = nginx

;group = apache
group = nginx

;pm = dynamic
pm = static

nginx.conf の設定

/etc/nginx/nginx.conf に以下の行を追加 phpファイルアップロード機能を追加する際の必須条件
    client_max_body_size 2G;
httpの圧縮転送を有効にする
    gzip  on;
    gzip_http_version 1.0;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
    gzip_disable "MSIE [1-6]\.";
    gzip_disable "Mozilla/4";
    gzip_proxied any;
    gzip_buffers 16 8k;
圧縮の確認
curl -I -H 'Accept-Encoding: gzip,deflate' http://www.qurataro.com/wikipedia/css/jqcloudlist.css
Content-Encoding: gzip が確認できたらOK

php session.save_path の変更

/etc/php.ini
;session.save_path = "/tmp"
session.save_path = "/var/lib/php/session"

post_max_size 2GB
upload_max_filesize 2GB

php uploader 用設定

date.timezone = Asia/Tokyo
phpのsessionファイル格納フォルダの書き込み権限を付与
cdmod 777 /var/lib/php/session

php-fpmデーモンの起動

systemctl enable php-fpm.service
systemctl start php-fpm.service
確認コマンド
systemctl list-units | grep php-fpm
systemctl list-unit-files | grep php-fpm
32MBのパッケージ

MariaDBの設定

max_allowed_packet のサイズの変更

/etc/my.cnf の max_allowed_packet のサイズを変更する。
max_allowed_packet = 32M

MariaDBデーモンの起動

systemctl enable mariadb.service
stsremctl start mariadb.service

root のパスワード変更

mysql -u root
mysql > SET PASSWORD = PASSWORD('youwantpassword')

nginxの設定

/etc/nginx/nginx.confの修正

client_max_body_size 2G;
※ keepalize_timeout の下あたりに記述
ログ関連ディレクトリの所有者をnginx
$ chown -R nginx: /var/log/nginx
$ chmod +r+w /var/log/nginx

nginxデーモンの起動

systemctl enable nginx.service
stsremctl start nginx.service
※起動しない場合は SeLinux の設定の可能性があるから再起動する事
コンフィグファイルをデフォルトからいじってしまうとSElinuxが引っかかるおそれあり

WEB環境設定

/etc/nginx/conf.d/default.conf
    location / {
        #root   /usr/share/nginx/html;
        root   /var/www/html;

    location = /50x.html {
        #root   /usr/share/nginx/html;
        root   /var/www/html;

    location ~ \.php$ {
        #root           html;
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
※ location ~ \.php$ のコメントをすべて外すこと
utf8 の追加
/etc/nginx/conf.d/default.conf

   #charset koi8-r;
   charset utf-8 koi8-r;

SSL証明書の作成

秘密鍵/中間鍵/公開鍵の作成
key サーバ秘密鍵ファイル
crt サーバ証明書ファイル
cer 中間証明書ファイル(証明書署名要求)
pem 証明書の結合ファイル
openssl genrsa -out cert.key -aes256 2048 [サーバ秘密鍵]
openssl req -new -key cert.key > cert.crt [サーバ証明要求書]
openssl x509 -days 3650 -req -signkey cert.key < cert.crt > cert.cer [署名書]
cat cert.crt cert.cer > cert.pem [署名要求と署名書の結合]


openssl req -x509 -sha256 -newkey rsa:2048 -days 3650 -nodes -out cert.pem -keyout cert.key


ソースファイルからのインストール

MeCab のインストール

tar xvfz mecab-x.xx.xx.tar.gz
./configure --with-charset=utf8
make
make install

ipadic のインストール

ダウンロード
https://code.google.com/p/mecab/downloads/detail?name=mecab-ipadic-2.7.0-20070801.tar.gz&can=2&q=

 tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz
 mecab-ipadic-2.7.0-XXXX
 ./configure --with-charset=utf8
 make
 make install


/usr/local/etc/mecabrcの編集

wikipedia.dic を作成しているのでそれを利用するように修正する。
/usr/local/lib/mecab に作成した辞書やユーザ辞書を配置する。

dicdir = /usr/local/lib/mecab/dic/ipadic

userdic = /usr/local/lib/mecab/dic/ipadic/wikipedia.dic

php_mecab のインストール

wget https://github.com/downloads/rsky/php-mecab/php-mecab-0.5.0.tgz
tar xzvf php-mecab-0.5.0.tgz
cd php-mecab-0.5.0
phpize
./configure --with-php-config=/bin/php-config --with-mecab=/usr/local/bin/mecab-config
make
make install
vi /etc/php.d/mecab.ini
extension=mecab.so
※extension の記述を追加

ユーザ辞書の追加

/usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic
    -u wikipedia.dic -f utf-8 -t utf-8 wikipedia.csv

事前に抜き取るデータ一覧、
井戸端、井戸端の話題、削除依頼、Portal:、Category:、.jpg,.png,.PNG.JPG,過去ログ,曖昧さ回避

ページのトップへ戻る