{"id":552,"date":"2014-10-06T17:55:04","date_gmt":"2014-10-06T09:55:04","guid":{"rendered":"http:\/\/www.shuran.cn\/?p=552"},"modified":"2014-10-07T22:47:44","modified_gmt":"2014-10-07T14:47:44","slug":"amh%e9%9d%a2%e6%9d%bf%e7%9a%84%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/www.shuran.cn\/?p=552","title":{"rendered":"AMH\u9762\u677f\u7684\u914d\u7f6e\u4e0e\u4f7f\u7528"},"content":{"rendered":"<p>\n\t\u6bcf\u6b21\u914d\u7f6eVPS\u4e3b\u673a\u90fd\u662f\u5168\u624b\u52a8LNMP\uff0c\u867d\u7136\u4e0d\u4f1a\u51fa\u4ec0\u4e48\u95ee\u9898\u4e86,\u4f46\u662f\u53ea\u80fd\u81ea\u5df1\u4e00\u4e2a\u4eba\u4f7f\u7528\u4e14\u5168\u547d\u4ee4\u884c\u4e5f\u662f\u5f88\u70e6\u4eba\u7684\u3002\u3002\u3002\n<\/p>\n<p>\n\t\n<\/p>\n<p>\n\t\u4e8e\u662f\u5f00\u59cb\u7814\u7a76\u63a7\u5236\u9762\u677f.....\n<\/p>\n<p>\n\t\u53d1\u73b0\u5f88\u591a\u90fd\u662f\u65e9\u5df2\u7ecf\u505c\u6b62\u66f4\u65b0\u4e86\u7684\uff0c\u8981\u4e48\u5c31\u662f\u57fa\u4e8eApache\u7684\u3002\n<\/p>\n<p>\n\t\n<\/p>\n<p>\n\t\u6700\u540e\u9501\u5b9a\u4e86amh\u8fd9\u4e2a\u56fd\u4ea7\u7684AMH4.2 \u7248\u672c\u3002\u6700\u540e\u66f4\u65b02013\u5e74\u3002\n<\/p>\n<p>\n\t\n<\/p>\n<p>\n\t<span style=\"line-height:1.5;\">\u7531\u4e8e\u65b0\u51fa\u73b0\u7684centos\u76847.0\u7684X64\u7248\u672c\uff0c\u52c7\u6562\u7684\u8fdb\u884c\u4e86\u5c1d\u8bd5amh4.2\uff0c\u4fee\u590d\u4e86\u51e0\u4e2a\u9519\u8bef\u540e\uff0c\u5b89\u88c5\u6b63\u5e38\uff0c\u4f46\u662f\u592a\u66f2\u6298\u4e86\u3002\u4e0d\u5efa\u8bae\u5c1d\u9c9c\u3002\u3002\u3002<\/span>\n<\/p>\n<p>\n\t<span style=\"line-height:1.5;\"><br \/>\n<\/span>\n<\/p>\n<p>\n\t\u6700\u7ec8\u6211\u7528\u7684amh\u5b89\u88c5\u811a\u672c\u5982\u4e0b\uff1a\n<\/p>\n<p>\n\t\n<\/p>\n<pre class=\"prettyprint lang-js\">#!\/bin\/bash\r\nPATH=\/bin:\/sbin:\/usr\/bin:\/usr\/sbin:\/usr\/local\/bin:\/usr\/local\/sbin:~\/bin\r\nexport PATH\r\n\r\nclear;\r\necho '================================================================';\r\necho ' [LNMP\/Nginx] Amysql Host - AMH 4.2 ';\r\necho ' http:\/\/Amysql.com';\r\necho '================================================================';\r\n\r\n\r\n# VAR ***************************************************************************************\r\nAMHDir='\/home\/amh_install\/';\r\nSysName='';\r\nSysBit='';\r\nCpunum='';\r\nRamTotal='';\r\nRamSwap='';\r\nInstallModel='';\r\nDomain=`ifconfig  | grep 'inet addr:'| egrep -v \":192.168|:172.1[6-9].|:172.2[0-9].|:172.3[0-2].|:10.|:127.\" | cut -d: -f2 | awk '{ print $1}'`;\r\nMysqlPass='';\r\nAMHPass='';\r\nStartDate='';\r\nStartDateSecond='';\r\nPHPDisable='';\r\n\r\n# Version\r\nAMSVersion='ams-1.5.0107-02';\r\nAMHVersion='amh-4.2';\r\nLibiconvVersion='libiconv-1.14';\r\nMysqlVersion='mysql-5.5.37';\r\nPhpVersion='php-5.3.28';\r\nNginxVersion='nginx-1.6.2';\r\nPureFTPdVersion='pure-ftpd-1.0.36';\r\n\r\n# Function List\t*****************************************************************************\r\nfunction CheckSystem()\r\n{\r\n\t[ $(id -u) != '0' ] &amp;&amp; echo '[Error] Please use root to install AMH.' &amp;&amp; exit;\r\n\tegrep -i \"centos\" \/etc\/issue &amp;&amp; SysName='centos';\r\n\tegrep -i \"debian\" \/etc\/issue &amp;&amp; SysName='debian';\r\n\tegrep -i \"ubuntu\" \/etc\/issue &amp;&amp; SysName='ubuntu';\r\n\t[ \"$SysName\" == ''  ] &amp;&amp; echo '[Error] Your system is not supported install AMH' &amp;&amp; exit;\r\n\r\n\tSysBit='32' &amp;&amp; [ `getconf WORD_BIT` == '32' ] &amp;&amp; [ `getconf LONG_BIT` == '64' ] &amp;&amp; SysBit='64';\r\n\tCpunum=`cat \/proc\/cpuinfo | grep 'processor' | wc -l`;\r\n\tRamTotal=`free -m | grep 'Mem' | awk '{print $2}'`;\r\n\tRamSwap=`free -m | grep 'Swap' | awk '{print $2}'`;\r\n\techo \"Server ${Domain}\";\r\n\techo \"${SysBit}Bit, ${Cpunum}*CPU, ${RamTotal}MB*RAM, ${RamSwap}MB*Swap\";\r\n\techo '================================================================';\r\n\t\r\n\tRamSum=$[$RamTotal+$RamSwap];\r\n\t[ \"$SysBit\" == '32' ] &amp;&amp; [ \"$RamSum\" -lt '250' ] &amp;&amp; \\\r\n\techo -e \"[Error] Not enough memory install AMH. \\n(32bit system need memory: ${RamTotal}MB*RAM + ${RamSwap}MB*Swap &gt; 250MB)\" &amp;&amp; exit;\r\n\r\n\tif [ \"$SysBit\" == '64' ] &amp;&amp; [ \"$RamSum\" -lt '480' ];  then\r\n\t\techo -e \"[Error] Not enough memory install AMH. \\n(64bit system need memory: ${RamTotal}MB*RAM + ${RamSwap}MB*Swap &gt; 480MB)\";\r\n\t\t[ \"$RamSum\" -gt '250' ] &amp;&amp; echo \"[Notice] Please use 32bit system.\";\r\n\t\texit;\r\n\tfi;\r\n\t\r\n\t[ \"$RamSum\" -lt '600' ] &amp;&amp; PHPDisable='--disable-fileinfo';\r\n}\r\n\r\nfunction ConfirmInstall()\r\n{\r\n\techo \"[Notice] Confirm Install\/Uninstall AMH? please select: (1~3)\"\r\n\tselect selected in 'Install AMH 4.2' 'Uninstall AMH 4.2' 'Exit'; do break; done;\r\n\t[ \"$selected\" == 'Exit' ] &amp;&amp; echo 'Exit Install.' &amp;&amp; exit;\r\n\t\t\r\n\tif [ \"$selected\" == 'Install AMH 4.2' ]; then\r\n\t\tInstallModel='1';\r\n\telif [ \"$selected\" == 'Uninstall AMH 4.2' ]; then\r\n\t\tUninstall;\r\n\telse\r\n\t\tConfirmInstall;\r\n\t\treturn;\r\n\tfi;\r\n\r\n\techo \"[OK] You Selected: ${selected}\";\r\n}\r\n\r\nfunction InputDomain()\r\n{\r\n\tif [ \"$Domain\" == '' ]; then\r\n\t\techo '[Error] empty server ip.';\r\n\t\tread -p '[Notice] Please input server ip:' Domain;\r\n\t\t[ \"$Domain\" == '' ] &amp;&amp; InputDomain;\r\n\tfi;\r\n\t[ \"$Domain\" != '' ] &amp;&amp; echo '[OK] Your server ip is:' &amp;&amp; echo $Domain;\r\n}\r\n\r\n\r\nfunction InputMysqlPass()\r\n{\r\n\tread -p '[Notice] Please input MySQL password:' MysqlPass;\r\n\tif [ \"$MysqlPass\" == '' ]; then\r\n\t\techo '[Error] MySQL password is empty.';\r\n\t\tInputMysqlPass;\r\n\telse\r\n\t\techo '[OK] Your MySQL password is:';\r\n\t\techo $MysqlPass;\r\n\tfi;\r\n}\r\n\r\n\r\nfunction InputAMHPass()\r\n{\r\n\tread -p '[Notice] Please input AMH password:' AMHPass;\r\n\tif [ \"$AMHPass\" == '' ]; then\r\n\t\techo '[Error] AMH password empty.';\r\n\t\tInputAMHPass;\r\n\telse\r\n\t\techo '[OK] Your AMH password is:';\r\n\t\techo $AMHPass;\r\n\tfi;\r\n}\r\n\r\n\r\nfunction Timezone()\r\n{\r\n\trm -rf \/etc\/localtime;\r\n\tln -s \/usr\/share\/zoneinfo\/Asia\/Shanghai \/etc\/localtime;\r\n\r\n\techo '[ntp Installing] ******************************** &gt;&gt;';\r\n\t[ \"$SysName\" == 'centos' ] &amp;&amp; yum install -y ntp || apt-get install -y ntpdate;\r\n\tntpdate -u pool.ntp.org;\r\n\tStartDate=$(date);\r\n\tStartDateSecond=$(date +%s);\r\n\techo \"Start time: ${StartDate}\";\r\n}\r\n\r\n\r\nfunction CloseSelinux()\r\n{\r\n\t[ -s \/etc\/selinux\/config ] &amp;&amp; sed -i 's\/SELINUX=enforcing\/SELINUX=disabled\/g' \/etc\/selinux\/config;\r\n}\r\n\r\nfunction DeletePackages()\r\n{\r\n\tif [ \"$SysName\" == 'centos' ]; then\r\n\t\tyum -y remove httpd;\r\n\t\tyum -y remove php;\r\n\t\tyum -y remove mysql-server mysql;\r\n\t\tyum -y remove php-mysql;\r\n\telse\r\n\t\tapt-get --purge remove nginx\r\n\t\tapt-get --purge remove mysql-server;\r\n\t\tapt-get --purge remove mysql-common;\r\n\t\tapt-get --purge remove php;\r\n\tfi;\r\n}\r\n\r\nfunction InstallBasePackages()\r\n{\r\n\tif [ \"$SysName\" == 'centos' ]; then\r\n\t\techo '[yum-fastestmirror Installing] ************************************************** &gt;&gt;';\r\n\t\tyum -y install yum-fastestmirror;\r\n\r\n\t\tcp \/etc\/yum.conf \/etc\/yum.conf.lnmp\r\n\t\tsed -i 's:exclude=.*:exclude=:g' \/etc\/yum.conf\r\n\t\tfor packages in gcc gcc-c++ ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel autoconf pcre-devel libtool-libs freetype-devel gd zlib-devel zip unzip wget crontabs iptables file bison cmake patch mlocate flex diffutils automake make  readline-devel  glibc-devel glibc-static glib2-devel  bzip2-devel gettext-devel libcap-devel logrotate ftp openssl expect; do \r\n\t\t\techo \"[${packages} Installing] ************************************************** &gt;&gt;\";\r\n\t\t\tyum -y install $packages; \r\n\t\tdone;\r\n\t\tmv -f \/etc\/yum.conf.lnmp \/etc\/yum.conf;\r\n\telse\r\n\t\tapt-get remove -y apache2 apache2-doc apache2-utils apache2.2-common apache2.2-bin apache2-mpm-prefork apache2-doc apache2-mpm-worker mysql-client mysql-server mysql-common php;\r\n\t\tkillall apache2;\r\n\t\tapt-get update;\r\n\t\tfor packages in build-essential gcc g++ cmake make ntp logrotate automake patch autoconf autoconf2.13 re2c wget flex cron libzip-dev libc6-dev rcconf bison cpp binutils unzip tar bzip2 libncurses5-dev libncurses5 libtool libevent-dev libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlibc openssl libsasl2-dev libxml2 libxml2-dev libltdl3-dev libltdl-dev zlib1g zlib1g-dev libbz2-1.0 libbz2-dev libglib2.0-0 libglib2.0-dev libpng3 libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libjpeg-dev libpng-dev libpng12-0 libpng12-dev curl libcurl3  libpq-dev libpq5 gettext libcurl4-gnutls-dev  libcurl4-openssl-dev libcap-dev ftp openssl expect; do\r\n\t\t\techo \"[${packages} Installing] ************************************************** &gt;&gt;\";\r\n\t\t\tapt-get install -y $packages --force-yes;apt-get -fy install;apt-get -y autoremove; \r\n\t\tdone;\r\n\tfi;\r\n}\r\n\r\n\r\nfunction Downloadfile()\r\n{\r\n\trandstr=$(date +%s);\r\n\tcd $AMHDir\/packages;\r\n\r\n\tif [ -s $1 ]; then\r\n\t\techo \"[OK] $1 found.\";\r\n\telse\r\n\t\techo \"[Notice] $1 not found, download now......\";\r\n\t\tif ! wget -c --tries=3 ${2}?${randstr} ; then\r\n\t\t\techo \"[Error] Download Failed : $1, please check $2 \";\r\n\t\t\texit;\r\n\t\telse\r\n\t\t\tmv ${1}?${randstr} $1;\r\n\t\tfi;\r\n\tfi;\r\n}\r\n\r\nfunction InstallReady()\r\n{\r\n\tmkdir -p $AMHDir\/conf;\r\n\tmkdir -p $AMHDir\/packages\/untar;\r\n\tchmod +Rw $AMHDir\/packages;\r\n\r\n\tmkdir -p \/root\/amh\/;\r\n\tchmod +Rw \/root\/amh;\r\n\r\n\tcd $AMHDir\/packages;\r\n\twget http:\/\/amysql.com\/file\/AMH\/4.2\/conf.zip;\r\n\tunzip conf.zip -d $AMHDir\/conf;\r\n}\r\n\r\n\r\n# Install Function  *********************************************************\r\n\r\nfunction Uninstall()\r\n{\r\n\tamh host list 2&gt;\/dev\/null;\r\n\techo -e \"\\033[41m\\033[37m[Warning] Please backup your data first. Uninstall will delete all the data!!! \\033[0m \";\r\n\tread -p '[Notice] Backup the data now? : (y\/n)' confirmBD;\r\n\t[ \"$confirmBD\" != 'y' -a \"$confirmBD\" != 'n' ] &amp;&amp; exit;\r\n\t[ \"$confirmBD\" == 'y' ] &amp;&amp; amh backup;\r\n\techo '=============================================================';\r\n\r\n\tread -p '[Notice] Confirm Uninstall(Delete All Data)? : (y\/n)' confirmUN;\r\n\t[ \"$confirmUN\" != 'y' ] &amp;&amp; exit;\r\n\tamh mysql stop 2&gt;\/dev\/null;\r\n\tamh php stop 2&gt;\/dev\/null;\r\n\tamh nginx stop 2&gt;\/dev\/null;\r\n\r\n\tkillall nginx;\r\n\tkillall mysqld;\r\n\tkillall pure-ftpd;\r\n\tkillall php-cgi;\r\n\tkillall php-fpm;\r\n\r\n\t[ \"$SysName\" == 'centos' ] &amp;&amp; chkconfig amh-start off || update-rc.d -f amh-start remove;\r\n\trm -rf \/etc\/init.d\/amh-start;\r\n\trm -rf \/usr\/local\/libiconv;\r\n\trm -rf \/usr\/local\/nginx\/ ;\r\n\tfor line in `ls \/root\/amh\/modules`; do\r\n\t\tamh module $line uninstall;\r\n\tdone;\r\n\trm -rf \/usr\/local\/mysql\/ \/etc\/my.cnf  \/etc\/ld.so.conf.d\/mysql.conf \/usr\/bin\/mysql \/var\/lock\/subsys\/mysql \/var\/spool\/mail\/mysql;\r\n\trm -rf \/usr\/local\/php\/ \/usr\/lib\/php \/etc\/php.ini \/etc\/php.d \/usr\/local\/zend;\r\n\trm -rf \/home\/wwwroot\/;\r\n\trm -rf \/etc\/pure-ftpd.conf \/etc\/pam.d\/ftp \/usr\/local\/sbin\/pure-ftpd \/etc\/pureftpd.passwd \/etc\/amh-iptables;\r\n\trm -rf \/etc\/logrotate.d\/nginx \/root\/.mysqlroot;\r\n\trm -rf \/root\/amh \/bin\/amh;\r\n\trm -rf $AMHDir;\r\n\trm -f \/usr\/bin\/{mysqld_safe,myisamchk,mysqldump,mysqladmin,mysql,nginx,php-fpm,phpize,php};\r\n\r\n\techo '[OK] Successfully uninstall AMH.';\r\n\texit;\r\n}\r\n\r\nfunction InstallLibiconv()\r\n{\r\n\techo \"[${LibiconvVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${LibiconvVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${LibiconvVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$LibiconvVersion;\r\n\techo \"tar -zxf ${LibiconvVersion}.tar.gz ing...\";\r\n\ttar -zxf $AMHDir\/packages\/$LibiconvVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -d \/usr\/local\/libiconv ]; then\r\n\t\tcd $AMHDir\/packages\/untar\/$LibiconvVersion;\r\n\t\t.\/configure --prefix=\/usr\/local\/libiconv;\r\n\t\tmake;\r\n\t\tmake install;\r\n\t\techo \"[OK] ${LibiconvVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] libiconv is installed!';\r\n\tfi;\r\n}\r\n\r\n\r\nfunction InstallMysql()\r\n{\r\n\t# [dir] \/usr\/local\/mysql\/\r\n\techo \"[${MysqlVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${MysqlVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${MysqlVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$MysqlVersion;\r\n\techo \"tar -zxf ${MysqlVersion}.tar.gz ing...\";\r\n\ttar -zxf $AMHDir\/packages\/$MysqlVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -f \/usr\/local\/mysql\/bin\/mysql ]; then\r\n\t\tcd $AMHDir\/packages\/untar\/$MysqlVersion;\r\n\t\tgroupadd mysql;\r\n\t\tuseradd -s \/sbin\/nologin -g mysql mysql;\r\n\t\tcmake -DCMAKE_INSTALL_PREFIX=\/usr\/local\/mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1;\r\n\t\t#http:\/\/forge.mysql.com\/wiki\/Autotools_to_CMake_Transition_Guide\r\n\t\tmake -j $Cpunum;\r\n\t\tmake install;\r\n\t\tchmod +w \/usr\/local\/mysql;\r\n\t\tchown -R mysql:mysql \/usr\/local\/mysql;\r\n\r\n\t\trm -f \/etc\/mysql\/my.cnf \/usr\/local\/mysql\/etc\/my.cnf;\r\n\t\tcp $AMHDir\/conf\/my.cnf \/etc\/my.cnf;\r\n\t\tcp $AMHDir\/conf\/mysql \/root\/amh\/mysql;\r\n\t\tchmod +x \/root\/amh\/mysql;\r\n\t\t\/usr\/local\/mysql\/scripts\/mysql_install_db --user=mysql --defaults-file=\/etc\/my.cnf --basedir=\/usr\/local\/mysql --datadir=\/usr\/local\/mysql\/data;\r\n\t\t\r\n\r\n# EOF **********************************\r\ncat &gt; \/etc\/ld.so.conf.d\/mysql.conf&lt;&lt;EOF\r\n\/usr\/local\/mysql\/lib\/mysql\r\n\/usr\/local\/lib\r\nEOF\r\n# **************************************\r\n\r\n\t\tldconfig;\r\n\t\tif [ \"$SysBit\" == '64' ] ; then\r\n\t\t\tln -s \/usr\/local\/mysql\/lib\/mysql \/usr\/lib64\/mysql;\r\n\t\telse\r\n\t\t\tln -s \/usr\/local\/mysql\/lib\/mysql \/usr\/lib\/mysql;\r\n\t\tfi;\r\n\t\tchmod 775 \/usr\/local\/mysql\/support-files\/mysql.server;\r\n\t\t\/usr\/local\/mysql\/support-files\/mysql.server start;\r\n\t\tln -s \/usr\/local\/mysql\/bin\/mysql \/usr\/bin\/mysql;\r\n\t\tln -s \/usr\/local\/mysql\/bin\/mysqladmin \/usr\/bin\/mysqladmin;\r\n\t\tln -s \/usr\/local\/mysql\/bin\/mysqldump \/usr\/bin\/mysqldump;\r\n\t\tln -s \/usr\/local\/mysql\/bin\/myisamchk \/usr\/bin\/myisamchk;\r\n\t\tln -s \/usr\/local\/mysql\/bin\/mysqld_safe \/usr\/bin\/mysqld_safe;\r\n\r\n\t\t\/usr\/local\/mysql\/bin\/mysqladmin password $MysqlPass;\r\n\t\trm -rf \/usr\/local\/mysql\/data\/test;\r\n\r\n# EOF **********************************\r\nmysql -hlocalhost -uroot -p$MysqlPass &lt;&lt;EOF\r\nUSE mysql;\r\nDELETE FROM user WHERE User!='root' OR (User = 'root' AND Host != 'localhost');\r\nUPDATE user set password=password('$MysqlPass') WHERE User='root';\r\nDROP USER ''@'%';\r\nFLUSH PRIVILEGES;\r\nEOF\r\n# **************************************\r\n\t\techo \"[OK] ${MysqlVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] MySQL is installed.';\r\n\tfi;\r\n\r\n}\r\n\r\nfunction InstallPhp()\r\n{\r\n\t# [dir] \/usr\/local\/php\r\n\techo \"[${PhpVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${PhpVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${PhpVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$PhpVersion;\r\n\techo \"tar -zxf ${PhpVersion}.tar.gz ing...\";\r\n\ttar -zxf $AMHDir\/packages\/$PhpVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -d \/usr\/local\/php ]; then\r\n\t\tcd $AMHDir\/packages\/untar\/$PhpVersion;\r\n\t\tgroupadd www;\r\n\t\tuseradd -m -s \/sbin\/nologin -g www www;\r\n\t\tif [ \"$InstallModel\" == '1' ]; then\r\n\t\t\t.\/configure --prefix=\/usr\/local\/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=\/etc --with-config-file-scan-dir=\/etc\/php.d --with-openssl --with-zlib  --with-curl --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --enable-zip --with-iconv=\/usr\/local\/libiconv --with-mysql=\/usr\/local\/mysql --without-pear $PHPDisable;\r\n\t\tfi;\r\n\t\tmake -j $Cpunum;\r\n\t\tmake install;\r\n\t\t\r\n\t\tcp $AMHDir\/conf\/php.ini \/etc\/php.ini;\r\n\t\tcp $AMHDir\/conf\/php \/root\/amh\/php;\r\n\t\tcp $AMHDir\/conf\/php-fpm.conf \/usr\/local\/php\/etc\/php-fpm.conf;\r\n\t\tcp $AMHDir\/conf\/php-fpm-template.conf \/usr\/local\/php\/etc\/php-fpm-template.conf;\r\n\t\tchmod +x \/root\/amh\/php;\r\n\t\tmkdir \/etc\/php.d;\r\n\t\tmkdir \/usr\/local\/php\/etc\/fpm;\r\n\t\tmkdir \/usr\/local\/php\/var\/run\/pid;\r\n\t\ttouch \/usr\/local\/php\/etc\/fpm\/amh.conf;\r\n\t\t\/usr\/local\/php\/sbin\/php-fpm;\r\n\r\n\t\tln -s \/usr\/local\/php\/bin\/php \/usr\/bin\/php;\r\n\t\tln -s \/usr\/local\/php\/bin\/phpize \/usr\/bin\/phpize;\r\n\t\tln -s \/usr\/local\/php\/sbin\/php-fpm \/usr\/bin\/php-fpm;\r\n\r\n\t\techo \"[OK] ${PhpVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] PHP is installed.';\r\n\tfi;\r\n}\r\n\r\nfunction InstallNginx()\r\n{\r\n\t# [dir] \/usr\/local\/nginx\r\n\techo \"[${NginxVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${NginxVersion}.tar.gz\" \"http:\/\/nginx.org\/download\/${NginxVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$NginxVersion;\r\n\techo \"tar -zxf ${NginxVersion}.tar.gz ing...\";\r\n\ttar -zxf $AMHDir\/packages\/$NginxVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -d \/usr\/local\/nginx ]; then\r\n\t\tcd $AMHDir\/packages\/untar\/$NginxVersion;\r\n\t\t.\/configure --prefix=\/usr\/local\/nginx --user=www --group=www --with-http_ssl_module  --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_uwsgi_module --without-http_scgi_module ;\r\n\t\tmake -j $Cpunum;\r\n\t\tmake install;\r\n\r\n\t\tmkdir -p \/home\/wwwroot\/index \/home\/backup \/usr\/local\/nginx\/conf\/vhost\/  \/usr\/local\/nginx\/conf\/vhost_stop\/  \/usr\/local\/nginx\/conf\/rewrite\/;\r\n\t\tchown +w \/home\/wwwroot\/index;\r\n\t\ttouch \/usr\/local\/nginx\/conf\/rewrite\/amh.conf;\r\n\r\n\t\tcp $AMHDir\/conf\/nginx.conf \/usr\/local\/nginx\/conf\/nginx.conf;\r\n\t\tcp $AMHDir\/conf\/nginx-host.conf \/usr\/local\/nginx\/conf\/nginx-host.conf;\r\n\t\tcp $AMHDir\/conf\/fcgi.conf \/usr\/local\/nginx\/conf\/fcgi.conf;\r\n\t\tcp $AMHDir\/conf\/fcgi-host.conf \/usr\/local\/nginx\/conf\/fcgi-host.conf;\r\n\t\tcp $AMHDir\/conf\/nginx \/root\/amh\/nginx;\r\n\t\tcp $AMHDir\/conf\/host \/root\/amh\/host;\r\n\t\tchmod +x \/root\/amh\/nginx;\r\n\t\tchmod +x \/root\/amh\/host;\r\n\t\tsed -i 's\/www.amysql.com\/'$Domain'\/g' \/usr\/local\/nginx\/conf\/nginx.conf;\r\n\r\n\t\tcd \/home\/wwwroot\/index;\r\n\t\tmkdir -p tmp etc\/rsa bin usr\/sbin log;\r\n\t\ttouch etc\/upgrade.conf;\r\n\t\tchown mysql:mysql etc\/rsa;\r\n\t\tchmod 777 tmp;\r\n\t\t[ \"$SysBit\" == '64' ] &amp;&amp; mkdir lib64 || mkdir lib;\r\n\t\t\/usr\/local\/nginx\/sbin\/nginx;\r\n\t\t\/usr\/local\/php\/sbin\/php-fpm;\r\n\t\tln -s \/usr\/local\/nginx\/sbin\/nginx \/usr\/bin\/nginx;\r\n\r\n\t\techo \"[OK] ${NginxVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] Nginx is installed.';\r\n\tfi;\r\n}\r\n\r\nfunction InstallPureFTPd()\r\n{\r\n\t# [dir] \/etc\/\t\/usr\/local\/bin\t\/usr\/local\/sbin\r\n\techo \"[${PureFTPdVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${PureFTPdVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${PureFTPdVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$PureFTPdVersion;\r\n\techo \"tar -zxf ${PureFTPdVersion}.tar.gz ing...\";\r\n\ttar -zxf $AMHDir\/packages\/$PureFTPdVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -f \/etc\/pure-ftpd.conf ]; then\r\n\t\tcd $AMHDir\/packages\/untar\/$PureFTPdVersion;\r\n\t\t.\/configure --with-puredb --with-quotas --with-throttling --with-ratios --with-peruserlimits;\r\n\t\tmake -j $Cpunum;\r\n\t\tmake install;\r\n\t\tcp contrib\/redhat.init \/usr\/local\/sbin\/redhat.init;\r\n\t\tchmod 755 \/usr\/local\/sbin\/redhat.init;\r\n\r\n\t\tcp $AMHDir\/conf\/pure-ftpd.conf \/etc;\r\n\t\tcp configuration-file\/pure-config.pl \/usr\/local\/sbin\/pure-config.pl;\r\n\t\tchmod 744 \/etc\/pure-ftpd.conf;\r\n\t\tchmod 755 \/usr\/local\/sbin\/pure-config.pl;\r\n\t\t\/usr\/local\/sbin\/redhat.init start;\r\n\r\n\t\tgroupadd ftpgroup;\r\n\t\tuseradd -d \/home\/wwwroot\/ -s \/sbin\/nologin -g ftpgroup ftpuser;\r\n\r\n\t\tcp $AMHDir\/conf\/ftp \/root\/amh\/ftp;\r\n\t\tchmod +x \/root\/amh\/ftp;\r\n\r\n\t\t\/sbin\/iptables-save &gt; \/etc\/amh-iptables;\r\n\t\tsed -i '\/--dport 21 -j ACCEPT\/d' \/etc\/amh-iptables;\r\n\t\tsed -i '\/--dport 80 -j ACCEPT\/d' \/etc\/amh-iptables;\r\n\t\tsed -i '\/--dport 8888 -j ACCEPT\/d' \/etc\/amh-iptables;\r\n\t\tsed -i '\/--dport 10100:10110 -j ACCEPT\/d' \/etc\/amh-iptables;\r\n\t\t\/sbin\/iptables-restore &lt; \/etc\/amh-iptables;\r\n\t\t\/sbin\/iptables -I INPUT -p tcp --dport 21 -j ACCEPT;\r\n\t\t\/sbin\/iptables -I INPUT -p tcp --dport 80 -j ACCEPT;\r\n\t\t\/sbin\/iptables -I INPUT -p tcp --dport 8888 -j ACCEPT;\r\n\t\t\/sbin\/iptables -I INPUT -p tcp --dport 10100:10110 -j ACCEPT;\r\n\t\t\/sbin\/iptables-save &gt; \/etc\/amh-iptables;\r\n\t\techo 'IPTABLES_MODULES=\"ip_conntrack_ftp\"' &gt;&gt;\/etc\/sysconfig\/iptables-config;\r\n\r\n\t\ttouch \/etc\/pureftpd.passwd;\r\n\t\tchmod 774 \/etc\/pureftpd.passwd;\r\n\t\techo \"[OK] ${PureFTPdVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] PureFTPd is installed.';\r\n\tfi;\r\n}\r\n\r\nfunction InstallAMH()\r\n{\r\n\t# [dir] \/home\/wwwroot\/index\/web\r\n\techo \"[${AMHVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${AMHVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${AMHVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$AMHVersion;\r\n\techo \"tar -xf ${AMHVersion}.tar.gz ing...\";\r\n\ttar -xf $AMHDir\/packages\/$AMHVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -d \/home\/wwwroot\/index\/web ]; then\r\n\t\tcp -r $AMHDir\/packages\/untar\/$AMHVersion \/home\/wwwroot\/index\/web;\r\n\r\n\t\tgcc -o \/bin\/amh -Wall $AMHDir\/conf\/amh.c;\r\n\t\tchmod 4775 \/bin\/amh;\r\n\t\tcp -a $AMHDir\/conf\/amh-backup.conf \/home\/wwwroot\/index\/etc;\r\n\t\tcp -a $AMHDir\/conf\/html \/home\/wwwroot\/index\/etc;\r\n\t\tcp $AMHDir\/conf\/{backup,revert,BRssh,BRftp,info,SetParam,module,crontab,upgrade} \/root\/amh;\r\n\t\tcp -a $AMHDir\/conf\/modules \/root\/amh;\r\n\t\tchmod +x \/root\/amh\/backup \/root\/amh\/revert \/root\/amh\/BRssh \/root\/amh\/BRftp \/root\/amh\/info \/root\/amh\/SetParam \/root\/amh\/module \/root\/amh\/crontab \/root\/amh\/upgrade;\r\n\r\n\t\tSedMysqlPass=${MysqlPass\/\/&amp;\/\\\\\\&amp;};\r\n\t\tSedMysqlPass=${SedMysqlPass\/\/\\'\/\\\\\\\\\\'};\r\n\t\tsed -i \"s\/'MysqlPass'\/'${SedMysqlPass}'\/g\" \/home\/wwwroot\/index\/web\/Amysql\/Config.php;\r\n\t\tchown www:www \/home\/wwwroot\/index\/web\/Amysql\/Config.php;\r\n\r\n\t\tSedAMHPass=${AMHPass\/\/&amp;\/\\\\\\&amp;};\r\n\t\tSedAMHPass=${SedAMHPass\/\/\\'\/\\\\\\\\\\\\\\\\\\'\\'};\r\n\t\tsed -i \"s\/'AMHPass_amysql-amh'\/'${SedAMHPass}_amysql-amh'\/g\" $AMHDir\/conf\/amh.sql;\r\n\t\t\/usr\/local\/mysql\/bin\/mysql -u root -p$MysqlPass &lt; $AMHDir\/conf\/amh.sql;\r\n\r\n\t\techo \"[OK] ${AMHVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] AMH is installed.';\r\n\tfi;\r\n}\r\n\r\nfunction InstallAMS()\r\n{\r\n\t# [dir] \/home\/wwwroot\/index\/web\/ams\r\n\techo \"[${AMSVersion} Installing] ************************************************** &gt;&gt;\";\r\n\tDownloadfile \"${AMSVersion}.tar.gz\" \"http:\/\/code.amysql.com\/files\/${AMSVersion}.tar.gz\";\r\n\trm -rf $AMHDir\/packages\/untar\/$AMSVersion;\r\n\techo \"tar -xf ${AMSVersion}.tar.gz ing...\";\r\n\ttar -xf $AMHDir\/packages\/$AMSVersion.tar.gz -C $AMHDir\/packages\/untar;\r\n\r\n\tif [ ! -d \/home\/wwwroot\/index\/web\/ams ]; then\r\n\t\tcp -r $AMHDir\/packages\/untar\/$AMSVersion \/home\/wwwroot\/index\/web\/ams;\r\n\t\tchown www:www -R \/home\/wwwroot\/index\/web\/ams\/View\/DataFile;\r\n\t\techo \"[OK] ${AMSVersion} install completed.\";\r\n\telse\r\n\t\techo '[OK] AMS is installed.';\r\n\tfi;\r\n}\r\n\r\n\r\n# AMH Installing ****************************************************************************\r\nCheckSystem;\r\nConfirmInstall;\r\nInputDomain;\r\nInputMysqlPass;\r\nInputAMHPass;\r\nTimezone;\r\nCloseSelinux;\r\nDeletePackages;\r\nInstallBasePackages;\r\nInstallReady;\r\nInstallLibiconv;\r\nInstallMysql;\r\nInstallPhp;\r\nInstallNginx;\r\nInstallPureFTPd;\r\nInstallAMH;\r\nInstallAMS;\r\n\r\n\r\nif [ -s \/usr\/local\/nginx ] &amp;&amp; [ -s \/usr\/local\/php ] &amp;&amp; [ -s \/usr\/local\/mysql ]; then\r\n\r\ncp $AMHDir\/conf\/amh-start \/etc\/init.d\/amh-start;\r\nchmod 775 \/etc\/init.d\/amh-start;\r\nif [ \"$SysName\" == 'centos' ]; then\r\n\tchkconfig --add amh-start;\r\n\tchkconfig amh-start on;\r\nelse\r\n\tupdate-rc.d -f amh-start defaults;\r\nfi;\r\n\r\n\/etc\/init.d\/amh-start;\r\nrm -rf $AMHDir;\r\n\r\necho '================================================================';\r\n\techo '[AMH] Congratulations, AMH 4.2 install completed.';\r\n\techo \"AMH Management: http:\/\/${Domain}:8888\";\r\n\techo 'User:admin';\r\n\techo \"Password:${AMHPass}\";\r\n\techo \"MySQL Password:${MysqlPass}\";\r\n\techo '';\r\n\techo '******* SSH Management *******';\r\n\techo 'Host: amh host';\r\n\techo 'PHP: amh php';\r\n\techo 'Nginx: amh nginx';\r\n\techo 'MySQL: amh mysql';\r\n\techo 'FTP: amh ftp';\r\n\techo 'Backup: amh backup';\r\n\techo 'Revert: amh revert';\r\n\techo 'SetParam: amh SetParam';\r\n\techo 'Module : amh module';\r\n\techo 'Crontab : amh crontab';\r\n\techo 'Upgrade : amh upgrade';\r\n\techo 'Info: amh info';\r\n\techo '';\r\n\techo '******* SSH Dirs *******';\r\n\techo 'WebSite: \/home\/wwwroot';\r\n\techo 'Nginx: \/usr\/local\/nginx';\r\n\techo 'PHP: \/usr\/local\/php';\r\n\techo 'MySQL: \/usr\/local\/mysql';\r\n\techo 'MySQL-Data: \/usr\/local\/mysql\/data';\r\n\techo '';\r\n\techo \"Start time: ${StartDate}\";\r\n\techo \"Completion time: $(date) (Use: $[($(date +%s)-StartDateSecond)\/60] minute)\";\r\n\techo 'More help please visit:http:\/\/amysql.com';\r\necho '================================================================';\r\nelse\r\n\techo 'Sorry, Failed to install AMH';\r\n\techo 'Please contact us: http:\/\/amysql.com';\r\nfi;\r\n<\/pre>\n<p>\n\t\u5b89\u88c5\u540e\u7ba1\u7406\u8d77\u6765\u8fd8\u662f\u5f88\u723d\u7684\u3002\u63a8\u8350\u61d2\u4eba\u4f7f\u7528\u3002\n<\/p>\n<p>\n\t\u4fee\u6539\u548c\u4f18\u5316\u8fc7\u7684amh\u5b89\u88c5\u6587\u4ef6\n<\/p>\n<p>\n\thttp:\/\/www.mf8.biz\/amh-diy.html\n<\/p>\n<p>\n\t\n<\/p>\n<p><a href=\"http:\/\/www.shuran.cn\/wp-content\/uploads\/2014\/10\/amh.zip\">amh<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6bcf\u6b21\u914d\u7f6eVPS\u4e3b\u673a\u90fd\u662f\u5168\u624b\u52a8LNMP\uff0c\u867d\u7136\u4e0d\u4f1a\u51fa\u4ec0\u4e48\u95ee\u9898\u4e86,\u4f46\u662f\u53ea\u80fd\u81ea\u5df1\u4e00\u4e2a\u4eba\u4f7f\u7528\u4e14\u5168\u547d\u4ee4\u884c\u4e5f\u662f\u5f88\u70e6\u4eba\u7684\u3002\u3002\u3002\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.shuran.cn\/?p=552\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-552","post","type-post","status-publish","format-standard","hentry","category-os"],"_links":{"self":[{"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/posts\/552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=552"}],"version-history":[{"count":2,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/posts\/552\/revisions"}],"predecessor-version":[{"id":557,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=\/wp\/v2\/posts\/552\/revisions\/557"}],"wp:attachment":[{"href":"https:\/\/www.shuran.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuran.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}