<code>#!/bin/bash</code>
<code>#部署一個LAMP的環境</code>
<code>#文檔整理人:dingxue</code>
<code>#整理日期:2017-10-6</code>
<code>#提取部署好yum環境,也可以使用網絡yum操作</code>
<code>#說明:本文檔部署環境的機器是:Linux redhat_6.5_x64</code>
<code>#請将所需的源碼包拷貝到伺服器的"/usr/local/lamp/"目錄裡面</code>
<code>log_file=</code><code>"/usr/local/lamp_install.log"</code>
<code>[ -f $log_file ] && > $log_file</code>
<code>echo</code> <code>-e </code><code>"\t`date +"</code><code>%F %T</code><code>"` 開始部署環境"</code> <code>| </code><code>tee</code> <code>-a $log_file</code>
<code>c_err(){</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[5;31m`date +"</code><code>%F %T</code><code>"`------ $@ ------ \033[0m"</code> <code>| </code><code>tee</code> <code>-a $log_file</code>
<code>}</code>
<code>c_scc(){</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m`date +"</code><code>%F %T</code><code>"`------ $@ ------ \033[0m"</code> <code>| </code><code>tee</code> <code>-a $log_file</code>
<code>#退出狀态檢查</code>
<code>#echo $? </code>
<code> </code><code>#--> 1 表示rpm包安裝失敗</code>
<code> </code><code>#--> 2 表示iptables或selinux關閉失敗</code>
<code> </code><code>#--> 5 表示/usr/local/src/lamp檔案不存在</code>
<code> </code><code>#--> 10 表示apache安裝失敗</code>
<code> </code><code>#--> 15 表示cmake安裝失敗</code>
<code> </code><code>#--> 20 表示mysql安裝失敗</code>
<code> </code>
<code> </code><code>#--> 26 表示php安裝失敗</code>
<code> </code>
<code>#遇到yum不能用的時候,使用下面的方式操作</code>
<code># wget -q http://mirrors.tencentyun.com/install/softinst.sh && chmod +x softinst.sh && ./softinst.sh </code>
<code>yum -y </code><code>install</code> <code>gcc* &> </code><code>/dev/null</code>
<code>[ $? -</code><code>ne</code> <code>0 ] && c_err </code><code>"rpm package install fail!!"</code> <code>&& </code><code>exit</code> <code>1 || c_scc </code><code>"rpm package install Success!!"</code>
<code>#off iptables</code>
<code>service iptables stop &></code><code>/dev/null</code>
<code>chkconfig iptables off &></code><code>/dev/null</code>
<code>[ $? -</code><code>ne</code> <code>0 ] && c_err </code><code>"iptables Close fail !!"</code> <code>&& </code><code>exit</code> <code>2 || c_scc </code><code>"iptables Success Close!!"</code>
<code>#off selinux (修改配置檔案關閉selinux,需要重新開機機器才能生效)</code>
<code>sed</code> <code>-i.bak </code><code>'s/SELINUX=enforcing/#&/'</code> <code>/etc/selinux/config</code>
<code>sed</code> <code>-i </code><code>'s/SELINUXTYPE=targeted/#&/'</code> <code>/etc/selinux/config</code>
<code>sed</code> <code>-i </code><code>'$a SELINUX=disabled'</code> <code>/etc/selinux/config</code>
<code>#使用getenforce可以查詢目前selinux的狀态(Enforcing-開啟1、permissive-->關閉0)</code>
<code>#臨時關閉(不用重新開機機器) (0 --> permissive,1 --> Enforcing)</code>
<code>setenforce 0 &> </code><code>/dev/null</code>
<code>[ $? -</code><code>ne</code> <code>0 ] && c_err </code><code>"selinux Close fail !!"</code> <code>&& </code><code>exit</code> <code>2 || c_scc </code><code>"selinux Success Close!!"</code>
<code>#The installation package path is stored in the same "/usr/local/src"</code>
<code>[ ! -d </code><code>/usr/local/lamp/</code> <code>] && </code><code>mkdir</code> <code>-p </code><code>/usr/local/lamp/</code> <code>&& c_scc </code><code>"lamp檔案是空的,請拷貝相關源碼包!!"</code><code>&& </code><code>exit</code> <code>5</code>
<code>#轉換檔案格式. win>>>linux</code>
<code>yum -y </code><code>install</code> <code>dos2unix &> </code><code>/dev/null</code>
<code>##################################################################</code>
<code>###### http(apache) server install ######</code>
<code>rpm_http=`rpm -qa | </code><code>grep</code> <code>httpd | </code><code>wc</code> <code>-l`</code>
<code>[ $rpm_http -</code><code>ne</code> <code>0 ] && rpm -e `rpm -qa | </code><code>grep</code> <code>httpd` --nodeps</code>
<code>#測試使用curl</code>
<code>yum -y </code><code>install</code> <code>curl-devel &> </code><code>/dev/null</code>
<code>cd</code> <code>/usr/local/lamp</code>
<code>tar</code> <code>xf httpd-2.2.17.</code><code>tar</code><code>.gz -C ../</code>
<code>cd</code> <code>..</code><code>/httpd-2</code><code>.2.17/</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/httpd</code> <code>--disable-authn-</code><code>file</code> <code>--disable-authn-default --disable-authz-groupfile --disable-authz-user --disable-authz-default --disable-auth-basic --disable-include --</code><code>enable</code><code>-so --with-mpm=prefork &></code><code>/dev/null</code>
<code>#選項解釋:</code>
<code>#--prefix=/usr/local/apache2 --> 指定安裝目錄</code>
<code>#--enable-so --> 允許運作時加載DSO子產品</code>
<code>#--with-mpm=prefork --> 指定使用的MPM的類型</code>
<code>make</code> <code>&> </code><code>/dev/null</code> <code>&& </code><code>make</code> <code>install</code> <code>&> </code><code>/dev/null</code>
<code>apache_num=`</code><code>echo</code> <code>$?`</code>
<code>[ $apache_num -</code><code>ne</code> <code>0 ] && c_err </code><code>"apache install fail"</code> <code>&& </code><code>exit</code> <code>10 || c_scc </code><code>"apache install Success"</code>
<code>/bin/cp</code> <code>/usr/local/httpd/bin/apachectl</code> <code>/etc/init</code><code>.d</code><code>/httpd</code>
<code>sed</code> <code>-i </code><code>'2i #chkconfig: 35 85 21'</code> <code>/etc/init</code><code>.d</code><code>/httpd</code>
<code>chkconfig --add httpd</code>
<code>sed</code> <code>-i </code><code>'97 s/#//'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>sed</code> <code>-i </code><code>'97 s/example/benet/'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>#配置檔案53行内容是加載php的内容,由于還沒有安裝php,故暫時禁用,待安裝完php後在開啟</code>
<code>sed</code> <code>-i </code><code>'53 s/^/#/'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>/usr/local/httpd/bin/apachectl</code> <code>start </code><code>#啟動apache伺服器</code>
<code>#service httpd start 需要自己配置該啟動方式</code>
<code>curl http:</code><code>//127</code><code>.0.0.1 &> </code><code>/dev/null</code>
<code>[ $? -</code><code>eq</code> <code>0 ] && c_scc </code><code>"web server Can normally access!!"</code> <code>|| c_err </code><code>"web server Access failed!!"</code>
<code>#在用戶端的機器上輸入:http://192.168.2.6檢視是否可以打開預設網頁</code>
<code>###### mysql server install ######</code>
<code>rpm_mysql=`rpm -qa | </code><code>grep</code> <code>mysql | </code><code>wc</code> <code>-l`</code>
<code>[ $rpm_mysql -</code><code>ne</code> <code>0 ] && rpm -e `rpm -qa | </code><code>grep</code> <code>mysql` --nodeps</code>
<code>groupadd mysql &> </code><code>/dev/null</code> <code>#建立mysql組</code>
<code>useradd</code> <code>-M -s </code><code>/sbin/nologin</code> <code>mysql -g mysql </code><code>#建立mysql使用者</code>
<code>chown</code> <code>-R mysql:mysql </code><code>/usr/local/mysql</code> <code>&> </code><code>/dev/null</code> <code>#将目錄屬主屬組給改為mysql</code>
<code>#需要使用cmake編譯,是以需要提前安裝cmake</code>
<code>#可以使用yum 安裝 --> yum -y install cmake</code>
<code>tar</code> <code>xf cmake-2.8.6.</code><code>tar</code><code>.gz -C </code><code>/usr/local</code>
<code>cd</code> <code>/usr/local/cmake-2</code><code>.8.6/</code>
<code>.</code><code>/bootstrap</code> <code>--prefix=</code><code>/usr/local/cmake</code> <code>&> </code><code>/dev/null</code>
<code>gmake &> </code><code>/dev/null</code> <code>&& gmake </code><code>install</code> <code>&> </code><code>/dev/null</code>
<code>cmake_num=`</code><code>echo</code> <code>$?`</code>
<code>[ $cmake_num -</code><code>ne</code> <code>0 ] && c_err </code><code>"cmake install fail"</code> <code>&& </code><code>exit</code> <code>15 || c_scc </code><code>"cmake install Success"</code>
<code>#mysql 所需rpm package</code>
<code>yum -y </code><code>install</code> <code>ncurses-devel* &> </code><code>/dev/null</code>
<code>#源碼安裝mysql</code>
<code>tar</code> <code>xf mysql-5.5.22.</code><code>tar</code><code>.gz -C </code><code>/usr/local</code>
<code>cd</code> <code>/usr/local/mysql-5</code><code>.5.22/</code>
<code>cmake -DCMAKE_INSTALL_PREFIX=</code><code>/usr/local/mysql</code> <code>-DSYSCONFDIR=</code><code>/etc</code> <code>-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all</code>
<code>#-DDEFAULT_COLLATION=utf8_general_ci </code>
<code>#-DMYSQL_TCP_PORT=3306 --> MySQL的監聽端口</code>
<code>make</code> <code>&> </code><code>/dev/null</code> <code>&& </code><code>make</code> <code>install</code> <code>&></code><code>/dev/null</code> <code>#mysql資料庫編譯安裝需要等待一定時間,大約20分鐘</code>
<code>mysql_num=`</code><code>echo</code> <code>$?`</code>
<code>[ $mysql_num -</code><code>ne</code> <code>0 ] && c_err </code><code>"mysql install fail"</code> <code>&& </code><code>exit</code> <code>20 || c_scc </code><code>"mysql install Success"</code>
<code>#源碼安裝完後要進行資料庫的初始化操作</code>
<code>rm</code> <code>-rf </code><code>/etc/my</code><code>.cnf</code>
<code>cp</code> <code>support-files</code><code>/my-medium</code><code>.cnf </code><code>/etc/my</code><code>.cnf</code>
<code>cp</code> <code>support-files</code><code>/mysql</code><code>.server </code><code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>#複制到系統,制作啟動服務</code>
<code>/usr/local/mysql/scripts/mysql_install_db</code> <code>--user=mysql --basedir=</code><code>/usr/local/mysql</code> <code>--datadir=</code><code>/usr/local/mysql/data/</code>
<code>chmod</code> <code>755 </code><code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>#修改屬性</code>
<code>chkconfig --add </code><code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>#添加為服務</code>
<code>chkconfig mysqld --level 235 on </code><code>#設定在235</code>
<code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>start &> </code><code>/dev/null</code>
<code>#service mysqld start</code>
<code>netstat</code> <code>-nltp | </code><code>grep</code> <code>'3306'</code> <code>&> </code><code>/dev/null</code>
<code>[ $? -</code><code>eq</code> <code>0 ] && c_scc </code><code>"3306 port open!!"</code> <code>|| c_err </code><code>"3306 port off!!"</code> <code>#檢查3306端口是否開通 </code>
<code>#讓mysql可以正常執行,需要導入一下指令</code>
<code>echo</code> <code>"PATH=$PATH:/usr/local/mysql/bin"</code> <code>>> </code><code>/etc/profile</code>
<code>source</code> <code>/etc/profile</code>
<code>[ $? -</code><code>eq</code> <code>0 ] && c_scc </code><code>"mysql server Can normally access!!"</code> <code>|| c_err </code><code>"mysql server Access failed!!"</code>
<code>. </code><code>/etc/profile</code>
<code>#[root@ ~]#mysql 或 /usr/local/mysql/bin/mysql --> 測試mysql是否正常,沒有密碼直接進入資料庫</code>
<code>###### PHP server install ######</code>
<code>rpm -e php php-cli php-ldap php-common php-mysql --nodeps &></code><code>/dev/null</code>
<code>yum -y </code><code>install</code> <code>zlib-devel* libxml2-devel*</code>
<code>#安裝擴充工具</code>
<code>#安裝libmcrypt</code>
<code>tar</code> <code>zxf libmcrypt-2.5.8.</code><code>tar</code><code>.gz -C </code><code>/usr/src/</code>
<code>cd</code> <code>/usr/src/libmcrypt-2</code><code>.5.8/</code>
<code>.</code><code>/configure</code> <code>&& </code><code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>[ $? -</code><code>eq</code> <code>0 ] && </code><code>echo</code> <code>"success"</code> <code>|| </code><code>echo</code> <code>"fail"</code> <code>exit</code>
<code>ln</code> <code>-s </code><code>/usr/local/lib/libmcrypt</code><code>.* </code><code>/usr/lib/</code>
<code>#安裝mhash</code>
<code>tar</code> <code>zxf mhash-0.9.9.9.</code><code>tar</code><code>.gz -C </code><code>/usr/src/</code>
<code>cd</code> <code>/usr/src/mhash-0</code><code>.9.9.9/</code>
<code>ln</code> <code>-s </code><code>/usr/local/lib/libmhash</code><code>* </code><code>/usr/lib/</code>
<code>安裝mcrypt</code>
<code>tar</code> <code>zxf mcrypt-2.6.8.</code><code>tar</code><code>.gz -C </code><code>/usr/src</code>
<code>cd</code> <code>/usr/src/mcrypt-2</code><code>.6.8/</code>
<code>export</code> <code>LD_LIBRARY_PATH=</code><code>/usr/local/lib</code><code>:$LD_LIBRARY_PATH</code>
<code>#安裝php</code>
<code>tar</code> <code>zxf php-5.3.6.</code><code>tar</code><code>.gz -C </code><code>/usr/src</code>
<code>cd</code> <code>/usr/src/php-5</code><code>.3.6/</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/php5</code> <code>--with-mcrypt --with-apxs2=</code><code>/usr/local/httpd/bin/apxs</code> <code>--with-mysql=</code><code>/usr/local/mysql</code> <code>--with-config-</code><code>file</code><code>-path=</code><code>/usr/local/php5</code> <code>--</code><code>enable</code><code>-mbstring</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>#配置php</code>
<code>cp</code> <code>/usr/src/php-5</code><code>.3.6</code><code>/php</code><code>.ini-development </code><code>/usr/local/php5/php</code><code>.ini</code>
<code>cd</code> <code>/usr/local/lamp/</code>
<code>tar</code> <code>zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.</code><code>tar</code><code>.gz -C </code><code>/usr/src</code>
<code>cd</code> <code>/usr/src/ZendGuardLoader-php-5</code><code>.3-linux-glibc23-x86_64</code><code>/php-5</code><code>.3.x/</code>
<code>cp</code> <code>ZendGuardLoader.so </code><code>/usr/local/php5/lib/php</code>
<code>#修改php.ini配置檔案</code>
<code>echo</code> <code>Zend_extension=</code><code>/usr/local/php5/lib/php/ZendGuardLoader</code><code>.so >> </code><code>/usr/local/php5/php</code><code>.ini</code>
<code>echo</code> <code>Zend_loader.</code><code>enable</code><code>=1 >> </code><code>/usr/local/php5/php</code><code>.ini</code>
<code>#httpd.conf 配置的調整</code>
<code>sed</code> <code>-i </code><code>'310i AddType application/x-httpd-php .php'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>sed</code> <code>-i </code><code>'167 s/html/php/'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>touch</code> <code>/usr/local/httpd/htdocs/ceshi</code><code>.php</code>
<code>echo</code> <code>-e </code><code>"<?php\nphpinfo();\n?>"</code> <code>> </code><code>/usr/local/httpd/htdocs/ceshi</code><code>.php </code><code>#測試apache與PHP是否可以調試通 </code>
<code>sed</code> <code>-i </code><code>'53 s/^#//'</code> <code>/usr/local/httpd/conf/httpd</code><code>.conf</code>
<code>/usr/local/httpd/bin/apachectl</code> <code>start &> </code><code>/dev/null</code>
<code>/usr/local/httpd/bin/apachectl</code> <code>restart &> </code><code>/dev/null</code>
<code>curl http:</code><code>//127</code><code>.0.0.1</code><code>/ceshi</code><code>.php &> </code><code>/dev/null</code>
<code>[ $? -</code><code>eq</code> <code>0 ] && c_scc </code><code>"web server and php Access Success !!"</code> <code>|| c_err </code><code>"web server and php Access failed!!"</code>
<a href="https://s5.51cto.com/wyfs02/M00/08/02/wKiom1nZk8_AkbSJAAU5fsM6CpE820.png-wh_500x0-wm_3-wmp_4-s_143634080.png" target="_blank"></a>
需要的包如下,這是我用的包。
[root@localhost lamp]# ls
cmake-2.8.6.tar.gz mcrypt-2.6.8.tar.gz php-5.3.6.tar.gz
httpd-2.2.17.tar.gz mhash-0.9.9.9.tar.gz phpMyAdmin-3.3.10-all-languages.tar.gz
libmcrypt-2.5.8.tar.gz mysql-5.5.22.tar.gz ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
隻要lamp 環境搭好了,裝個wordpress 就非常簡單了,傻瓜式建站。
安裝wordpress(我是在linux虛拟機裡面)
1.安裝phpMyadmin,在本地登入建立一個資料庫用于wp 的資料庫。
2.官網下載下傳wordpress,解壓檔案。
3.找到安裝的http的目錄,在httpd的htdocs中建立一個檔案夾,任意取名,最好叫wp.
4.把wp解壓好的檔案移動到該目錄下
<a href="https://s5.51cto.com/wyfs02/M00/A6/B3/wKioL1nZgsTjXTAWAAAdqQJ2Er8052.png-wh_500x0-wm_3-wmp_4-s_875708524.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/A6/B3/wKioL1nZgvXSBAmjAACguK6J4ms309.png-wh_500x0-wm_3-wmp_4-s_1096355122.png" target="_blank"></a>
但是要實作很多的功能就不是很容易了,這是我最近發現的一個word press 搭建的個人部落格,我覺得非常的好,連結如下。
<a href="https://blog.mimvp.com/" target="_blank">word press 部落格</a>
<a href="https://blog.mimvp.com/" target="_blank">https://blog.mimvp.com/</a>
本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1970683,如需轉載請自行聯系原作者