「理想的な」クラスタヌ。 パヌト2.2アクセスしやすくスケヌラブルなWebサヌバヌ、ビゞネスを守るための最高のテクノロゞヌ





「理想的な」クラスタヌに関する䞀連の蚘事の続きずしお、信頌性が高く、生産性が高く、管理しやすいWebシステムを䜜成するためのレシピを共有したいず思いたす。





サむトおよびWebシステムの信頌性ず高速性を確保するために、圓瀟では垂堎で利甚可胜な技術的手段の調査を実斜したした。 私たちはシンプルな目暙に導かれたしたシステムのスケヌラビリティず高いパフォヌマンスを同時に達成するこず。



実際、クラスタヌはれロから構築されたした。 フロント゚ンドバック゚ンドアヌキテクチャがありたした。 デヌタベヌスはMariaDB Galeraに送られ、すべおのサむトは統合されたWebノヌドに移動したした。



長時間の䜜業、玛争、議論の過皋で、 アクロニスが喜んで共有できる既補の゜リュヌションが生たれたした。 私たちは助けるために存圚したす。







「理想的な」クラスタヌに関する他の出版物





次に、いく぀かの重芁な偎面に぀いお説明したす。








この蚘事が他の䜕癟もの蚘事ずどう違うのかず尋ねるかもしれたせん。








コンセプト






app01.localを陀くすべおのサヌバヌで、sshを含むすべおの未䜿甚のサヌビスが削陀され、それらの間の盞互䜜甚はグレヌのプラむベヌトネットワヌクを介しお行われたす。 サむトの運甚に必芁なパブリックネットワヌクに察しお開かれおいるポヌト80、443などのみ



Proxmoxの既知の問題





䜜成されたコンテナの自動ロヌドを有効にするこずを忘れないでください







vmbr1ブリッゞのネットワヌクを䜜成するず、Proxmoxは仮想名eth0を付けるため、䜜成したネットワヌクを削陀しお、すべおを正しくやり盎す必芁がありたす







コンテナを入力するには、コンテナを起動し、タヌミナルでコマンドvzctl enter container_numberを入力する必芁がありたす



Proxmoxに関する蚘事冒頭のリンクで、公匏のパブリックネットワヌクのファむアりォヌルのルヌルが蚘述されたファむルを䜿甚するず述べたしたが、これは理想的には私たち以倖には知られるべきではありたせん。



nano /etc/iptables.up.rules
      
      







 *nat :PREROUTING ACCEPT [2164:136969] :POSTROUTING ACCEPT [58:3659] :OUTPUT ACCEPT [0:0] # Nat -A POSTROUTING -o vmbr0 -j MASQUERADE # ISPConfig Web Panel -A PREROUTING -d *.*.*182/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.8.3:8080 -A PREROUTING -d *.*.*.182/32 -p tcp -m tcp --dport 8081 -j DNAT --to-destination 192.168.8.3:8081 # app01. ssh server -A PREROUTING -d *.*.*.182/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.8.4:22 COMMIT
      
      







ハむパヌバむザヌのSSHポヌトを2222に倉曎したす



 nano /etc/ssh/sshd_config
      
      







 Port 2222
      
      







すべおのコンテナの䞀般的なプリセット





ISPConfig゚ヌゞェントがあるすべおのコンテナで、これらの行を必ずhostsファむルに远加しおください。



 nano /etc/hosts
      
      







 192.168.8.1 gw.local 192.168.8.2 front01.local 192.168.8.3 isp.local 192.168.8.4 app01.local 192.168.8.5 db01.local
      
      







タむムゟヌンを



 ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
      
      







 yum install wget nano wget ntpdate -y
      
      







これらのリポゞトリはあるべきです。なぜなら、ここでは基本リポゞトリにない倚くのパッケヌゞを芋぀けるからです。



 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm rm *.rpm -f
      
      







このリポゞトリは䟿利ですが、デフォルトでオフにしたす

 rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt cd /tmp wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm && rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
      
      







オフにしたす。--enablerepo = rpmforgeを䜿甚したす



 sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo
      
      







しかし、これはWebシステムの真珠であり、管理者が仕事で必芁ずするものが本圓にたくさんありたす。 しなければならない



 wget -q -O - http://www.atomicorp.com/installers/atomic | sh
      
      







䟿利な゜フトりェアを入れる



 yum install nano mc screen sudo nscd htop ntp zip unzip pigz iotop sysstat lsof strace atop multitail -y yum --enablerepo=rpmforge install htop -y
      
      







このコンテナの䞍芁なサヌビスを削陀する



 yum remove -y sendmail httpd sshd samba bind openssh -y
      
      







システムの曎新



 yum update -y
      
      







mysqlを削陀



 yum remove mysql* mysql-*
      
      







サヌビス目的のISPConfigにmariadbをむンストヌルする



 yum install mariadb-server mariadb-devel mariadb-client -y
      
      







cronをむンストヌル



 yum install -y cronie cronie-anacron crontabs sysstat -y
      
      







cronを起動に远加しお実行



  /etc/init.d/crond start && chkconfig crond on
      
      







mariadbをカスタマむズする



 nano /etc/my.cnf
      
      







 [mysqld] skip-name-resolve default_storage_engine=InnoDB innodb_file_per_table = 1 # network connect_timeout = 60 wait_timeout = 28800 max_connections = 200 max_allowed_packet = 512M max_connect_errors = 1000 # performance query_cache_size = 32M tmp_table_size = 32M max_heap_table_size = 32M thread_cache_size = 16 table_open_cache = 600 innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT transaction-isolation = READ-COMMITTED log_error = /var/log/mysql/mysql-error.log #slow_query_log_file = /var/log/mysql/mysql-slow.log
      
      







mariadbをスタヌトアップに远加



 chkconfig --levels 235 mysqld on && /etc/init.d/mysqld start
      
      







gw.local環境のセットアップ



CentOS 64環境でOpenVZコンテナ新しいCTを䜜成する必芁がありたすこの仮想マシンは、パブリックおよびプラむベヌトネットワヌクに察応したす。



eth1ネットワヌク他のコンテナヌず察話するためのプラむベヌトネットワヌクには、eth0パブリックプロバむダヌネットワヌクおよびvmbr1ずいう名前のvmbr0ネットワヌクむンタヌフェむスが必芁です。





この仮想マシンには、128 MBを超えるRAMは必芁ありたせん。







gw.localコンテナ自䜓にネットワヌクを蚭定したしょう



コンテナ内のネットワヌク



 vi /etc/sysconfig/network-scripts/ifcfg-eth0
      
      







 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=xxx237 NETMASK=255.255.255.0 GATEWAY=xxx1
      
      







 vi /etc/sysconfig/network-scripts/ifcfg-eth1
      
      







 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.8.1 NETWORK=192.168.8.0
      
      







珟圚のiptablesルヌルを保存



  /etc/init.d/iptables save
      
      







倖郚ビゞネスアドレスの* natセクションにルヌルを远加したす



 vi /etc/sysconfig/iptables
      
      







 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.8.2:80 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.8.2:443 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.8.5:25 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.8.5:110 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 145 -j DNAT --to-destination 192.168.8.5:145 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 995 -j DNAT --to-destination 192.168.8.5:995 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 465 -j DNAT --to-destination 192.168.8.5:465 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 587 -j DNAT --to-destination 192.168.8.5:587 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 192.168.8.5:143 -A PREROUTING -d *.*.*.237/32 -p tcp -m tcp --dport 993 -j DNAT --to-destination 192.168.8.5:993 -A POSTROUTING -o eth0 -j MASQUERADE
      
      







トラフィック転送を蚱可



 echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p
      
      







環境front01.localの蚭定





CentOS 64環境でOpenVZコンテナヌ新しいCTを䜜成する必芁がありたすこの仮想マシンは、gw.localから転送されたポヌト80および443に察応したす。 このコンテナにはnginxがむンストヌルされおおり、app01.localのサむトぞのすべおのリク゚ストをプロキシしたす

nginxの蚭定手順自䜓は、この蚘事「理想的な」wwwクラスタヌで詳しく説明されおいたす。 パヌト1.フロント゚ンドCentOSでのNGINX + Keepalivedvrrp



このコンテナには、プラむベヌトネットワヌク vmbr1  192.168.8.2のアドレスがあり、操䜜には1024 MB以䞋のRAMが必芁です。



これは、ネットワヌクがコンテナ自䜓でどのように芋えるかです。



 vi /etc/sysconfig/network-scripts/ifcfg-eth1
      
      







 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.8.2 NETWORK=192.168.8.0 GATEWAY=192.168.8.1
      
      







環境の蚭定isp。



CentOS 64環境でOpenVZコンテナヌ新しいCTを䜜成する必芁がありたすこの仮想マシンは、ISPConfigコントロヌルパネルを提䟛したす。 蚘事の冒頭で、パネルはパブリックパブリックアドレスによっお提䟛され、ポヌト8080および8081で利甚できるこずを瀺したした。



このコンテナには、プラむベヌトネットワヌクアドレス vmbr1  192.168.8.3があり、玄384 MBのRAMが必芁です。







このコンテナのネットワヌク蚭定



 /etc/sysconfig/network-scripts/ifcfg-eth1
      
      







 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.8.3 NETWORK=192.168.8.0 GATEWAY=192.168.8.100
      
      







ISPConfigパネルのWebサヌバヌコンポヌネントをむンストヌルする



 yum install php-mysql php nginx php-fpm postfix patch -y
      
      







暙準のnginxグリヌティングで蚭定を削陀



 rm -f /etc/nginx/conf.d/default.conf rm -f /etc/nginx/conf.d/virtual.conf rm -f /etc/nginx/conf.d/ssl.conf
      
      







nginxずphp-fpmを远加しお、オヌトロヌドしお実行したす



 chkconfig --levels 235 php-fpm on && /etc/init.d/php-fpm start chkconfig --levels 235 nginx on && /etc/init.d/nginx start
      
      







ISPConfig゚ヌゞェントがパラメヌタヌに぀いお䞭倮のisp.localデヌタベヌスに接続できるようにする



 mysql
      
      







 CREATE USER 'root'@'192.168.8.%' IDENTIFIED BY 'c2HZqsMmiBKa'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.8.%' IDENTIFIED BY 'c2HZqsMmiBKa' WITH GRANT OPTION; flush privileges;
      
      







phpMyAdminをむンストヌル



 yum install phpmyadmin -y
      
      







phpmyadminでphpMyAdminシンボリックリンクを䜜成する



 ln -s /usr/share/phpMyAdmin/ /usr/share/phpmyadmin
      
      







 nano /etc/phpMyAdmin/config.inc.php
      
      







 $cfg['blowfish_secret'] = '46a30e4ed1cf83.14522379'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ $cfg['Servers'][$i]['host'] = 'db01.local'; // MySQL hostname or IP address $cfg['Servers'][$i]['port'] = '3306'; // MySQL port - leave blank for default port $cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
      
      







ISPConfigをむンストヌル



 cd /usr/src/ wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php
      
      







察話型むンストヌルりィザヌドの質問に答えたす

>>初期蚭定



オペレヌティングシステムRedhatたたは互換性のある、䞍明なバヌゞョン。



以䞋は、プラむマリ蚭定に関するいく぀かの質問ですので、泚意しおください。

デフォルト倀は[角括匧]で囲たれ、受け入れられたす。

「匕甚」なしで「終了」をタップしお、むンストヌラヌを停止したす。



蚀語を遞択en、de[ en ]



むンストヌルモヌド暙準、゚キスパヌト[暙準] ゚キスパヌト



サヌバヌの完党修食ホスト名FQDN。䟋server1.domain.tld [ isp.local ]



MySQLサヌバヌのホスト名[ localhost ]



MySQLルヌトナヌザヌ名[ root ]



MySQLルヌトパスワヌド[]



䜜成するMySQLデヌタベヌス[ dbispconfig ]



MySQL文字セット[ utf8 ]



次の2぀の質問は、内郚ISPConfigデヌタベヌスのナヌザヌずパスワヌドに関するものです。

ナヌザヌ名ずしお「ispconfig」であり、ランダムなパスワヌドであるデフォルトを受け入れるこずをお勧めしたす。

別のパスワヌドを䜿甚する堎合は、パスワヌドに数字ず文字のみを䜿甚しおください。



ISPConfig mysqlデヌタベヌスのナヌザヌ名[ ispconfig ]



ISPConfig mysqlデヌタベヌスパスワヌド[ 1850fcffe2fc0b1ca2707c3e27c5eec4 ]



このサヌバヌを既存のISPConfigマルチサヌバヌセットアップy、n[ n ]に参加させたす。



Apacheずnginxが怜出されたした。 ISPConfigに䜿甚するサヌバヌを遞択apache、nginx[apache] nginx



ISPConfigサヌバヌレコヌドをデヌタベヌスに远加しおいたす。



メヌルの構成y、n[y] n



Jailkitの構成y、n[y] n



FTPサヌバヌの構成y、n[y] y



Pureftpdの構成

DNSサヌバヌの構成y、n[y] n



ヒントこのサヌバヌがISPConfigむンタヌフェヌスを実行する堎合は、「Configure nginx Server」オプションで「y」を遞択したす。



nginxサヌバヌの構成y、n[y] y



nginxの構成

Apps vhostの構成

ファむアりォヌルサヌバヌの構成y、n[y] y



Bastille Firewallの構成

ISPConfig Webむンタヌフェむスのむンストヌルy、n[y] y



ISPConfigのむンストヌル

ISPConfigポヌト[ 8080 ]



ISPConfig WebむンタヌフェヌスのSSLを有効にしたすy、n[y] y



RSA秘密鍵、4096ビット長のモゞュラスの生成

.................................................. .............. ++

.................................................. .................................................. ................... ++

eは655370x10001です

組み蟌たれる情報の入力を求められたす

蚌明曞芁求に。

入力しようずしおいるのは、識別名たたはDNず呌ばれるものです。

かなりの数のフィヌルドがありたすが、空癜のたたにするこずができたす

䞀郚のフィヌルドにはデフォルト倀がありたすが、

「。」を入力するず、フィヌルドは空癜のたたになりたす。

-囜名2文字のコヌド[XX] Ru

州たたは県の名前フルネヌム[] モスクワ

地域名䟋郜垂[デフォルトの郜垂] モスクワ

組織名䌚瀟など[Default Company Ltd] isp.local

組織単䜍名セクションなど[] IT

共通名䟋自分の名前たたはサヌバヌのホスト名[] isp.local

メヌルアドレス[]



次の「远加」属性を入力しおください

蚌明曞リク゚ストずずもに送信されたす

チャレンゞパスワヌド[]

オプションの䌚瀟名[]

RSAキヌを曞く

DBServerの構成

ISPConfig crontabのむンストヌル

ルヌトのcrontabはありたせん

php-fpmのリロヌド[OK]

nginxのリロヌド[OK]

むンストヌルが完了したした。







ISPConfigパネルをサヌビスパブリックむンタヌフェむスのポヌト8080に転送したした



 https://__ip:8080/
      
      











デフォルトのナヌザヌ名ずパスワヌド admin



 このサむトにむンストヌルされおいるISPConfigのバヌゞョンで既知の問題を確認したす。 曎新プログラム付きのパッチがある堎合は、それらを適甚したす



 cd /usr/local/ispconfig/server/scripts wget http://www.ispconfig.org/downloads/ispconfig_patch chmod 700 ispconfig_patch chown root:root ispconfig_patch ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch
      
      







これは利甚可胜な、執筆時点でのパッチのリストです

ISPConfig 3.0.5.3のパッチ



パッチID 3053_langedit

日付2013-09-25

説明このパッチは、蚀語ファむル゚ディタのUTF-8゚ンコヌディングの問題を解決したす。



パッチID 3053_langimport

説明このパッチは、蚀語ファむルむンポヌタヌに厳密な解析ルヌチンを远加したす。



パッチID 3053_backupdownload

説明このパッチは、Webサむトのバックアップのダりンロヌドず埩元に関する問題を修正したす。



パッチID 3053_apsdel​​ete

説明このパッチは、APSむンスタンスを削陀する際の問題を修正したす。



パッチID 3053_ftpuser

説明このパッチにより、FS3089-FTPナヌザヌオプション-゚ラヌが修正されたす。このドメむンに察する暩限がありたせん。



パッチID 3053_phpversion

説明このパッチは、クラむアントがWebサむトのphpバヌゞョンを倉曎できない問題を修正したす。 クラむアントむンタヌフェヌスに衚瀺される唯䞀のphp遞択オプションは「デフォルト」です。



パッチID 3053_sysini

説明このパッチは、FS3086-マルチサヌバヌ蚭定でのsys_iniアクセスに関するSQLク゚リ譊告を修正したす。



パッチID 3053_dashboard

説明このパッチは、ダッシュボヌドの衚瀺の問題クォヌタテヌブルの重耇を修正したす。




phpMyAdminを担圓するセクションのコメントを倖したす



 nano /etc/nginx/sites-enabled/000-ispconfig.vhost
      
      







 location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/lib/php5-fpm/ispconfig.sock; fastcgi_param HTTPS on; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; }
      
      







  /etc/init.d/nginx reload
      
      







環境app01.localの蚭定apache2 + php-fpm





CentOS 64環境でOpenVZコンテナ新しいCTを䜜成する必芁がありたすこの仮想マシンは、phpで曞かれたサむトを提䟛したす。 䞀般に、apache2はnginxよりもはるかに遅く、静的ファむルグラフィック、スクリプト、スタむルなどを提䟛したす。たた、mod_phpず組み合わせお、着信リク゚ストの凊理に倚くのメモリを消費したす。 これは、apache2アヌキテクチャ自䜓によるものです。 メモリ消費の問題がphp-fpmを䜿甚しお解決できる堎合、遅い静的ずのみ調敎でき、front.localのnginx偎のキャッシュでこれを郚​​分的に補正できたす。

apache2を䜿甚するのは、.htaccessたたはapache2専甚のモゞュヌルを䜿甚する必芁がある堎合にのみ意味がありたす。

この仮想マシンのsshポヌトはサヌビスパブリックアドレスから転送され、ポヌト80はfront.localからプロキシされたす



このコンテナにはプラむベヌトネットワヌク vmbr1  192.168.8.4のアドレスがあり、この仮想マシンのRAMに保存する䟡倀はありたせん。䞀般的には4〜20 GBになりたす。



このコンテナのネットワヌク蚭定



 vi /etc/sysconfig/network-scripts/ifcfg-eth1
      
      







 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.8.4 NETWORK=192.168.8.0 GATEWAY=192.168.8.100
      
      







Webサヌバヌコンポヌネントをむンストヌルする



 yum install mod_rpaf memcached ntp httpd php php-mysql php-mbstring php-mcrypt rpm-build openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel mod_ssl php-fpm php-cli php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magpierss php-snmp php-tidy spawn-fcgi openssl perl-TimeDate httpd-devel ruby ruby-devel webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder perl-TimeDate libevent-devel php-pecl-memcache mod_fcgid subversion git php-soap -y yum install --enablerepo=rpmforge mod_fastcgi mod_suphp -y
      
      







サヌビスをスタヌトアップに远加しお開始する



 chkconfig --levels 235 php-fpm on && /etc/init.d/php-fpm start chkconfig --levels 235 httpd on && /etc/init.d/httpd start chkconfig --levels 235 memcached on && /etc/init.d/memcached start
      
      







PHPモゞュヌルの手動アセンブリの堎合、開発者のコ​​ンポヌネントをむンストヌルしたす



 yum groupinstall 'Development Tools' -y
      
      







php.iniの最小限の倉曎



 sed -i "s/^error_reporting =.*/error_reporting = E_ALL \& \~E_NOTICE/g" /etc/php.ini sed -i "s/^;cgi.fix_pathinfo =.*/cgi.fix_pathinfo = 1/g" /etc/php.ini sed -i "s/^;date.timezone =.*/date.timezone = Europe\/Moscow/g" /etc/php.ini sed -i "s/^max_execution_time =.*/max_execution_time = 600/g" /etc/php.ini sed -i "s/^max_input_time =.*/max_input_time = 600/g" /etc/php.ini sed -i "s/^memory_limit =.*/memory_limit = 512M/g" /etc/php.ini sed -i "s/^post_max_size =.*/post_max_size = 500M/g" /etc/php.ini sed -i "s/^upload_max_filesize =.*/upload_max_filesize = 2000M/g" /etc/php.ini sed -i "s/^max_file_uploads =.*/max_file_uploads = 200/g" /etc/php.ini sed -i "s/^short_open_tag =.*/short_open_tag = On/g" /etc/php.ini sed -i "s/^upload_max_filesize =.*/upload_max_filesize = 500M/g" /etc/php.ini sed -i "s/;realpath_cache_size =.*/realpath_cache_size = 4096k/g" /etc/php.ini
      
      







xdebugモゞュヌルをビルドしたすコヌドのデバッグず問題の特定に圹立ちたす



 yum install php-devel php-pear pecl install Xdebug
      
      







 nano /etc/php.d/xdebug.ini
      
      







 [xdebug] zend_extension="/usr/lib64/php/modules/xdebug.so" xdebug.remote_enable = 1
      
      







 php -v
      
      







 No log handling enabled - turning on stderr logging Created directory: /var/lib/net-snmp/mib_indexes PHP 5.4.24 (cli) (built: Jan 13 2014 12:36:47) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Retha
      
      







PHPモゞュヌルのむンストヌル-Zend Guard



 cd /usr/src/ && wget wget http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz tar xzvf ZendGuardLoader-7* -C /usr/local/ chmod -R 755 /usr/local/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64/ mv /usr/local/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64/ /usr/local/Zend
      
      







 nano /etc/php.d/zend.ini
      
      







 zend_extension=/usr/local/Zend/php-5.4.x/ZendGuardLoader.so
      
      







 php -v
      
      







 PHP 5.4.24 (cli) (built: Jan 13 2014 12:36:47) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies
      
      







PHPのオペコヌドキャッシングモゞュヌルを有効にする-APC



 sed -i "s/^apc.enabled=.*/apc.enabled=1/g" /etc/php.d/apc.ini sed -i "s/^apc.shm_size=.*/apc.shm_size=256M/g" /etc/php.d/apc.ini sed -i "s/;apc.num_files_hint=.*/apc.num_files_hint=20000/g" /etc/php.d/apc.ini sed -i "s/;apc.user_entries_hint=.*/apc.user_entries_hint=20000/g" /etc/php.d/apc.ini sed -i "s/;apc.ttl=.*/apc.ttl=86400/g" /etc/php.d/apc.ini sed -i "s/;apc.user_ttl=.*/apc.user_ttl=7200/g" /etc/php.d/apc.ini sed -i "s/;apc.gc_ttl=.*/apc.gc_ttl=86400/g" /etc/php.d/apc.ini sed -i "s/;apc.cache_by_default=.*/apc.cache_by_default=1/g" /etc/php.d/apc.ini sed -i "s/;apc.max_file_size=.*/apc.max_file_size=10M/g" /etc/php.d/apc.ini
      
      







suphpモゞュヌルの構成



 mkdir -p /root/backup/etc mv /etc/httpd/conf.d/suphp.conf /root/backup/ && nano /etc/httpd/conf.d/suphp.conf
      
      







 LoadModule suphp_module modules/mod_suphp.so suPHP_Engine on suPHP_ConfigPath /etc/suphp.conf
      
      







 mv /etc/suphp.conf /root/backup/etcsuphp.conf && nano /etc/suphp.conf
      
      







 [global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/mychroot ; Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler for CGI-scripts x-suphp-cgi="execute:!self"
      
      







mod_rpafを蚭定したす。3番目のアドレスはサヌバヌのパブリックWebアドレスです



 nano /etc/httpd/conf.d/mod_rpaf.conf
      
      







 <IfModule mod_rpaf.c> RPAF_Enable On RPAF_ProxyIPs 127.0.0.1 192.168.8.2 *.*.*.237 RPAF_Header X-Forwarded-For RPAF_SetHostName On RPAF_SetHTTPS On RPAF_SetPort On </IfModule>
      
      







FastCgiWrapperをオフにする



 nano /etc/httpd/conf.d/fastcgi.conf
      
      







 sed -i "s/^FastCgiWrapper .*/FastCgiWrapper Off/g" /etc/httpd/conf.d/fastcgi.conf
      
      







ISPConfigをむンストヌル



 cd /usr/src/ wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php
      
      







察話型むンストヌルりィザヌドの質問に答えたす



>>初期蚭定



オペレヌティングシステムRedhatたたは互換性のある、䞍明なバヌゞョン。



以䞋は、プラむマリ蚭定に関するいく぀かの質問ですので、泚意しおください。

デフォルト倀は[角括匧]で囲たれ、受け入れられたす。

「匕甚」なしで「終了」をタップしお、むンストヌラヌを停止したす。



蚀語を遞択en、de[ en ]



むンストヌルモヌド暙準、゚キスパヌト[暙準] ゚キスパヌト



サヌバヌの完党修食ホスト名FQDN。䟋server1.domain.tld [ app01.local ]



MySQLサヌバヌのホスト名[ localhost ]



MySQLルヌトナヌザヌ名[ root ]



MySQLルヌトパスワヌド[]



䜜成するMySQLデヌタベヌス[ dbispconfig ]



MySQL文字セット[ utf8 ]



次の2぀の質問は、内郚ISPConfigデヌタベヌスのナヌザヌずパスワヌドに関するものです。

ナヌザヌ名ずしお「ispconfig」であり、ランダムなパスワヌドであるデフォルトを受け入れるこずをお勧めしたす。

別のパスワヌドを䜿甚する堎合は、パスワヌドに数字ず文字のみを䜿甚しおください。



ISPConfig mysqlデヌタベヌスのナヌザヌ名[ ispconfig ]



ISPConfig mysqlデヌタベヌスパスワヌド[ 8b8295ae2a50a39a1a00da65df0bee72 ]



このサヌバヌを既存のISPConfigマルチサヌバヌセットアップに参加させたすy、n[n] y



MySQLマスタヌサヌバヌのホスト名[] isp.local



MySQLマスタヌサヌバヌのルヌトナヌザヌ名[ root ]



MySQLマスタヌサヌバヌのルヌトパスワヌド[] c2HZqsMmiBKa



MySQLマスタヌサヌバヌのデヌタベヌス名[ dbispconfig ]



ISPConfigサヌバヌレコヌドをデヌタベヌスに远加しおいたす。



メヌルの構成y、n[y] n



Jailkitの構成y、n[y] n



FTPサヌバヌの構成y、n[y] y



Pureftpdの構成

pure-ftpdの停止[OK]

pure-ftpdの起動[OK]

DNSサヌバヌの構成y、n[y] n



ヒントこのサヌバヌがISPConfigむンタヌフェヌスを実行する堎合は、「Apacheサヌバヌの構成」オプションで「y」を遞択したす。



Apacheサヌバヌの構成y、n[y] y

Apacheの構成

Vloggerの構成

Apps vhostの構成

ファむアりォヌルサヌバヌの構成y、n[y] y



Bastille Firewallの構成

ISPConfig Webむンタヌフェむスのむンストヌルy、n[n] n



DBServerの構成

ISPConfig crontabのむンストヌル

ルヌトのcrontabはありたせん

httpdの停止[OK]

[2014幎1月23日13:46:44] [è­Šå‘Š] NameVirtualHost *80にはVirtualHostsがありたせん

[朚1月23日13:46:44 2014] [è­Šå‘Š] NameVirtualHost *443にはVirtualHostがありたせん

[2014幎1月23日13:46:44] [è­Šå‘Š] NameVirtualHost *80にはVirtualHostsがありたせん

httpdの開始[OK]

むンストヌルが完了したした。





環境db01を蚭定したす。





CentOS 64環境でOpenVZコンテナヌ新しいCTを䜜成する必芁がありたす。サむトのMariadbは、このin vitroマシンに配眮されたす。

このノヌドのISPConfigクラスタヌぞの远加に぀いおのみ説明したす。 次の蚘事では、MySQLの最適化に関する質問を残したす。



このコンテナには、プラむベヌトネットワヌク vmbr1  192.168.8.5のアドレスがありたす。デヌタベヌスサヌバヌのRAMの量を節玄しないでください。この堎合は4 GBのRAMずしたすが、深刻なタスクの堎合、20 GBは小さくなりたす。



これは、ネットワヌクがコンテナ自䜓でどのように芋えるかです。



 vi /etc/sysconfig/network-scripts/ifcfg-eth1
      
      







 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.8.5 NETWORK=192.168.8.0 GATEWAY=192.168.8.100
      
      







ISPConfigパネルのphpコンポヌネントをむンストヌル



 yum install php-mysql php -y
      
      







スタヌトアップから削陀しおapache2をオフにする



 chkconfig httpd off && /etc/init.d/httpd stop
      
      







ISPConfigをむンストヌル



 cd /usr/src/ wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php
      
      







察話型むンストヌルりィザヌドの質問に答えたす



>>初期蚭定



オペレヌティングシステムRedhatたたは互換性のある、䞍明なバヌゞョン。



以䞋は、プラむマリ蚭定に関するいく぀かの質問ですので、泚意しおください。

デフォルト倀は[角括匧]で囲たれ、受け入れられたす。

「匕甚」なしで「終了」をタップしお、むンストヌラヌを停止したす。



蚀語の遞択en、de[en] en



むンストヌルモヌド暙準、゚キスパヌト[暙準] ゚キスパヌト



サヌバヌの完党修食ホスト名FQDN。䟋server1.domain.tld [ db01.local ]



MySQLサヌバヌのホスト名[ localhost ]



MySQLルヌトナヌザヌ名[ root ]



MySQLルヌトパスワヌド[]



䜜成するMySQLデヌタベヌス[ dbispconfig ]



MySQL文字セット[ utf8 ]



次の2぀の質問は、内郚ISPConfigデヌタベヌスのナヌザヌずパスワヌドに関するものです。

ナヌザヌ名ずしお「ispconfig」であり、ランダムなパスワヌドであるデフォルトを受け入れるこずをお勧めしたす。

別のパスワヌドを䜿甚する堎合は、パスワヌドに数字ず文字のみを䜿甚しおください。



ISPConfig mysqlデヌタベヌスのナヌザヌ名[ ispconfig ]



ISPConfig mysqlデヌタベヌスパスワヌド[ 06cd6c11370b50a83eb0a3d3907a3581 ]



このサヌバヌを既存のISPConfigマルチサヌバヌセットアップに参加させたすy、n[n] y



MySQLマスタヌサヌバヌのホスト名[] isp.local



MySQLマスタヌサヌバヌのルヌトナヌザヌ名[ root ]



MySQLマスタヌサヌバヌのルヌトパスワヌド[] c2HZqsMmiBKa



MySQLマスタヌサヌバヌのデヌタベヌス名[ dbispconfig ]



ISPConfigサヌバヌレコヌドをデヌタベヌスに远加しおいたす。



メヌルの構成y、n[y] n



Jailkitの構成y、n[y] n



FTPサヌバヌの構成y、n[y] n



DNSサヌバヌの構成y、n[y] n



ヒントこのサヌバヌがISPConfigむンタヌフェヌスを実行する堎合は、「Apacheサヌバヌの構成」オプションで「y」を遞択したす。



Apacheサヌバヌの構成y、n[y] n



ファむアりォヌルサヌバヌの構成y、n[y] y



Bastille Firewallの構成

ISPConfig Webむンタヌフェむスのむンストヌルy、n[n] n



DBServerの構成

ISPConfig crontabのむンストヌル

ルヌトのcrontabはありたせん

httpdの停止[倱敗]

httpdの開始[OK]

むンストヌルが完了したした。





ISPConfigの抂芁




ISPConfig Webパネルでの承認埌、スタヌトペヌゞに移動したす。







ツヌル - パスワヌドず蚀語 、 蚀語を倉曎し、コントロヌルパネルにアクセスするための匷力なパスワヌドを䜜成したす。



システム - サヌバヌサヌビス 、サヌバヌから䞍芁な圹割を削陀したす。

ISPConfigが単䞀のノヌドを別のノヌドのミラヌにするこずができるずいう事実に泚意を喚起したいず思いたす。 ぀たり サヌビスずナヌザヌの構成は、耇数のサヌバヌで同時に同じになりたす。 サヌバヌミラヌでミラヌのノヌドを遞択する必芁がありたす



サヌバヌ構成 - サヌバヌセクションの各サヌバヌで、 ログレベルをデバッグに蚭定したす。 これで、ISPConfigがクラスタヌのノヌドで実行するすべおのアクションを確認できたす



 tail -f -n 1000 /var/log/ispconfig/ispconfig.log
      
      





サヌバヌ構成にはすぐにWebセクションがあり、その䞭にPermissionsがありたす。同じファむルストレヌゞceph、ocfs2などに耇数のWebサヌバヌミラヌがある堎合、 曎新時にフォルダヌパヌミッションを蚭定し 、 LinuxナヌザヌIDをwebidに接続するチェックボックスをチェックする必芁がありたす 。 これにより、異なるミラヌ䞊のguid / uidずナヌザヌおよびグルヌプ、およびそれらの名前/グルヌプの違いに関する問題を回避できたす。 ナヌザヌのフォルダヌ構造を倉曎する堎合は、[ Webフォルダヌを䞍倉拡匵属性にする]チェックボックスをオフにしたす。 これを忘れた堎合は、 chatrtr -iコマンドが圹立ちたす。 次の重芁なセクション Rescue 、クラッシュが発生した堎合に重芁なサヌビスの自動起動を有効にしたすが、再起動しないサヌビスの再起動を無効にするこずを忘れないでください。



テストナヌザヌを䜜成したしょう クラむアント - クラむアントを 远加し 、 アドレス 、 連絡先 、 ログむン 、 パスワヌドを入力しおください 䟿利なパスワヌドゞェネレヌタヌもありたす。 制限に加えお 、 デフォルトのWebサヌバヌず蚱可されたWebサヌバヌの動䜜モヌドを遞択したす。





php-fpmずmod_phpを同時にサポヌトするようにapp01.localを構成したした。 顧客のリストに戻り、新しく䜜成されたものを入力したす。





サむト - 新しいりェブサむトを远加





サむト名ず必芁なphpバック゚ンドを指定したす。



クラスタ構成のISPConfigは、すべおの倉曎を反映するのに時間がかかるこずに泚意しおください。







サむトのファむルにアクセスする手段ずしお、 sshを䜿甚したす。WindowsではWinSCPを䜿甚するず䟿利です。 この方法は、埓来のFTPよりもはるかに安党です。

アクセスするには、 Shell UserセクションでSSHナヌザヌを䜜成する必芁がありたす。

ナヌザヌ名、パスワヌド、および必芁に応じおキヌを指定する必芁がありたす。 ISPConfigアカりントのアカりントのプレフィックスがナヌザヌに远加されるこずに泚意しおください。



MySQLを䜿甚するには、 デヌタベヌスナヌザヌセクションでナヌザヌを䜜成する必芁がありたす。ISPConfigシステムのIDがログむンに远加されたす。







デヌタベヌスセクションでサむトの1぀にデヌタベヌスを䜜成したす。新しいデヌタベヌスの名前を指定する必芁がありたす。このデヌタベヌスが属するサむトを指定するこずを忘れないでください。䜜成したナヌザヌを遞択し、 リモヌトアクセスボックスをチェックしたすアプリケヌションサヌバヌに関連しお。 プレフィックスが名前に远加されるこずを忘れないでください。







phpMyAdminにアクセスするには、[ デヌタベヌス]セクションの任意のデヌタベヌスの近くにある察応するアむコンをクリックしたす。







phpMyAdminで自分自身を芋぀ける







ファむナル




サむトが存圚するapp01.localは、ポヌト22のパブリックサヌビスネットワヌクで利甚できたす。 WinSCP , :







, web







index.html index.php



 <?php //   ,   INFO_ALL phpinfo(); //      . // phpinfo(8)    . phpinfo(INFO_MODULES); ?>
      
      







, php-fpm/mod_php











, :




All Articles