天天看點

服務(2)====一個lamp的腳本以及基于lamp安裝wordpress

<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 ] &amp;&amp; &gt; $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>#--&gt; 1  表示rpm包安裝失敗</code>

<code>        </code><code>#--&gt; 2  表示iptables或selinux關閉失敗</code>

<code>        </code><code>#--&gt; 5  表示/usr/local/src/lamp檔案不存在</code>

<code>        </code><code>#--&gt; 10 表示apache安裝失敗</code>

<code>        </code><code>#--&gt; 15 表示cmake安裝失敗</code>

<code>        </code><code>#--&gt; 20 表示mysql安裝失敗</code>

<code>       </code> 

<code>        </code><code>#--&gt; 26 表示php安裝失敗</code>

<code>        </code> 

<code>#遇到yum不能用的時候,使用下面的方式操作</code>

<code># wget -q http://mirrors.tencentyun.com/install/softinst.sh &amp;&amp; chmod +x softinst.sh &amp;&amp; ./softinst.sh </code>

<code>yum -y </code><code>install</code> <code>gcc* &amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>ne</code> <code>0 ] &amp;&amp; c_err </code><code>"rpm package install fail!!"</code> <code>&amp;&amp; </code><code>exit</code> <code>1 || c_scc </code><code>"rpm package install Success!!"</code>

<code>#off iptables</code>

<code>service iptables stop &amp;&gt;</code><code>/dev/null</code>

<code>chkconfig iptables off &amp;&gt;</code><code>/dev/null</code>

<code>[ $? -</code><code>ne</code> <code>0 ] &amp;&amp; c_err </code><code>"iptables Close fail !!"</code> <code>&amp;&amp; </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/#&amp;/'</code> <code>/etc/selinux/config</code>

<code>sed</code> <code>-i </code><code>'s/SELINUXTYPE=targeted/#&amp;/'</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--&gt;關閉0)</code>

<code>#臨時關閉(不用重新開機機器) (0 --&gt; permissive,1 --&gt; Enforcing)</code>

<code>setenforce 0 &amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>ne</code> <code>0 ] &amp;&amp; c_err </code><code>"selinux Close fail !!"</code> <code>&amp;&amp; </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>] &amp;&amp; </code><code>mkdir</code> <code>-p </code><code>/usr/local/lamp/</code> <code>&amp;&amp; c_scc </code><code>"lamp檔案是空的,請拷貝相關源碼包!!"</code><code>&amp;&amp; </code><code>exit</code> <code>5</code>

<code>#轉換檔案格式. win&gt;&gt;&gt;linux</code>

<code>yum -y </code><code>install</code> <code>dos2unix &amp;&gt; </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 ] &amp;&amp; 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 &amp;&gt; </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 &amp;&gt;</code><code>/dev/null</code>

<code>#選項解釋:</code>

<code>#--prefix=/usr/local/apache2    --&gt;     指定安裝目錄</code>

<code>#--enable-so                                    --&gt;     允許運作時加載DSO子產品</code>

<code>#--with-mpm=prefork                             --&gt;     指定使用的MPM的類型</code>

<code>make</code> <code>&amp;&gt; </code><code>/dev/null</code> <code>&amp;&amp; </code><code>make</code> <code>install</code> <code>&amp;&gt; </code><code>/dev/null</code>

<code>apache_num=`</code><code>echo</code> <code>$?`</code>

<code>[ $apache_num -</code><code>ne</code> <code>0 ] &amp;&amp; c_err </code><code>"apache install fail"</code> <code>&amp;&amp; </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 &amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; 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 ] &amp;&amp; rpm -e `rpm -qa | </code><code>grep</code> <code>mysql` --nodeps</code>

<code>groupadd mysql &amp;&gt; </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>&amp;&gt; </code><code>/dev/null</code>     <code>#将目錄屬主屬組給改為mysql</code>

<code>#需要使用cmake編譯,是以需要提前安裝cmake</code>

<code>#可以使用yum 安裝 --&gt; 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>&amp;&gt; </code><code>/dev/null</code>

<code>gmake &amp;&gt; </code><code>/dev/null</code> <code>&amp;&amp; gmake </code><code>install</code> <code>&amp;&gt; </code><code>/dev/null</code>

<code>cmake_num=`</code><code>echo</code> <code>$?`</code>

<code>[ $cmake_num -</code><code>ne</code> <code>0 ] &amp;&amp; c_err </code><code>"cmake install fail"</code> <code>&amp;&amp; </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* &amp;&gt; </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                                          --&gt;     MySQL的監聽端口</code>

<code>make</code> <code>&amp;&gt; </code><code>/dev/null</code> <code>&amp;&amp; </code><code>make</code> <code>install</code> <code>&amp;&gt;</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 ] &amp;&amp; c_err </code><code>"mysql install fail"</code> <code>&amp;&amp; </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 &amp;&gt; </code><code>/dev/null</code>

<code>#service mysqld start</code>

<code>netstat</code> <code>-nltp | </code><code>grep</code> <code>'3306'</code> <code>&amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; 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>&gt;&gt; </code><code>/etc/profile</code>

<code>source</code> <code>/etc/profile</code>

<code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; 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 --&gt; 測試mysql是否正常,沒有密碼直接進入資料庫</code>

<code>######                          PHP server install                                              ######</code>

<code>rpm -e php php-cli php-ldap php-common php-mysql --nodeps   &amp;&gt;</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>&amp;&amp; </code><code>make</code> <code>&amp;&amp; </code><code>make</code> <code>install</code>

<code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; </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>&amp;&amp; </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 &gt;&gt; </code><code>/usr/local/php5/php</code><code>.ini</code>

<code>echo</code> <code>Zend_loader.</code><code>enable</code><code>=1 &gt;&gt; </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>"&lt;?php\nphpinfo();\n?&gt;"</code> <code>&gt; </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 &amp;&gt; </code><code>/dev/null</code>

<code>/usr/local/httpd/bin/apachectl</code> <code>restart &amp;&gt; </code><code>/dev/null</code>

<code>curl http:</code><code>//127</code><code>.0.0.1</code><code>/ceshi</code><code>.php &amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; 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>

服務(2)====一個lamp的腳本以及基于lamp安裝wordpress

本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1970683,如需轉載請自行聯系原作者