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