天天看点

服务(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,如需转载请自行联系原作者