#!/bin/bash#部署一个LAMP的环境#文档整理人:dingxue#整理日期:2017-10-6#提取部署好yum环境,也可以使用网络yum操作#说明:本文档部署环境的机器是:Linux redhat_6.5_x64#请将所需的源码包拷贝到服务器的"/usr/local/lamp/"目录里面log_file="/usr/local/lamp_install.log"[ -f $log_file ] && > $log_fileecho -e "\t`date +"%F %T"` 开始部署环境" | tee -a $log_filec_err(){        echo -e "\033[5;31m`date +"%F %T"`------ $@ ------ \033[0m" | tee -a $log_file}c_scc(){        echo -e "\033[32m`date +"%F %T"`------ $@ ------ \033[0m" | tee -a $log_file}#退出状态检查#echo $?         #--> 1  表示rpm包安装失败        #--> 2  表示iptables或selinux关闭失败        #--> 5  表示/usr/local/src/lamp文件不存在        #--> 10 表示apache安装失败        #--> 15 表示cmake安装失败        #--> 20 表示mysql安装失败               #--> 26 表示php安装失败        #遇到yum不能用的时候,使用下面的方式操作# wget -q http://mirrors.tencentyun.com/install/softinst.sh && chmod +x softinst.sh && ./softinst.sh yum -y install gcc* &> /dev/null[ $? -ne 0 ] && c_err "rpm package install fail!!" && exit 1 || c_scc "rpm package install Success!!"#off iptablesservice iptables stop &>/dev/nullchkconfig iptables off &>/dev/null[ $? -ne 0 ] && c_err "iptables Close fail !!" && exit 2 || c_scc "iptables Success Close!!"#off selinux    (修改配置文件关闭selinux,需要重启机器才能生效)sed -i.bak 's/SELINUX=enforcing/#&/' /etc/selinux/configsed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/configsed -i '$a SELINUX=disabled' /etc/selinux/config#使用getenforce可以查询当前selinux的状态(Enforcing-开启1、permissive-->关闭0)#临时关闭(不用重启机器) (0 --> permissive,1 --> Enforcing)setenforce 0 &> /dev/null[ $? -ne 0 ] && c_err "selinux Close fail !!" && exit 2 || c_scc "selinux Success Close!!"#The installation package path is stored in the same "/usr/local/src"[ ! -d /usr/local/lamp/ ] && mkdir -p /usr/local/lamp/ && c_scc "lamp文件是空的,请拷贝相关源码包!!"&& exit 5#转换文件格式. win>>>linuxyum -y install dos2unix &> /dev/null########################################################################                  http(apache) server install                                     ########################################################################rpm_http=`rpm -qa | grep httpd | wc -l`[ $rpm_http -ne 0 ] && rpm -e `rpm -qa | grep httpd` --nodeps#测试使用curlyum -y install curl-devel &> /dev/nullcd /usr/local/lamptar xf httpd-2.2.17.tar.gz -C ../cd ../httpd-2.2.17/./configure --prefix=/usr/local/httpd --disable-authn-file --disable-authn-default --disable-authz-groupfile --disable-authz-user --disable-authz-default --disable-auth-basic --disable-include --enable-so --with-mpm=prefork &>/dev/null#选项解释:#--prefix=/usr/local/apache2    -->     指定安装目录#--enable-so                                    -->     允许运行时加载DSO模块#--with-mpm=prefork                             -->     指定使用的MPM的类型make &> /dev/null && make install &> /dev/nullapache_num=`echo $?`[ $apache_num -ne 0 ] && c_err "apache install fail" && exit 10 || c_scc "apache install Success"/bin/cp /usr/local/httpd/bin/apachectl /etc/init.d/httpdsed -i '2i #chkconfig: 35 85 21' /etc/init.d/httpdchkconfig --add httpdsed -i '97 s/#//' /usr/local/httpd/conf/httpd.confsed -i '97 s/example/benet/' /usr/local/httpd/conf/httpd.conf#配置文件53行内容是加载php的内容,由于还没有安装php,故暂时禁用,待安装完php后在开启sed -i '53 s/^/#/' /usr/local/httpd/conf/httpd.conf/usr/local/httpd/bin/apachectl start            #启动apache服务器#service httpd start  需要自己配置该启动方式curl http://127.0.0.1 &> /dev/null[ $? -eq 0 ] && c_scc "web server Can normally access!!" || c_err "web server Access failed!!"#在客户端的机器上输入:http://192.168.2.6查看是否可以打开默认网页########################################################################                          mysql server install                                    ########################################################################rpm_mysql=`rpm -qa | grep mysql | wc -l`[ $rpm_mysql -ne 0 ] && rpm -e `rpm -qa | grep mysql` --nodepsgroupadd mysql &> /dev/null                                             #创建mysql组useradd -M -s /sbin/nologin mysql -g mysql                              #创建mysql用户chown -R mysql:mysql /usr/local/mysql  &> /dev/null     #将目录属主属组给改为mysql#需要使用cmake编译,因此需要提前安装cmake#可以使用yum 安装 --> yum -y install cmakecd /usr/local/lamptar xf cmake-2.8.6.tar.gz -C /usr/localcd /usr/local/cmake-2.8.6/./bootstrap --prefix=/usr/local/cmake &> /dev/nullgmake &> /dev/null && gmake install &> /dev/nullcmake_num=`echo $?`[ $cmake_num -ne 0 ] && c_err "cmake install fail" && exit 15 || c_scc "cmake install Success"#mysql 所需rpm packageyum -y install ncurses-devel* &> /dev/null#源码安装mysqlcd /usr/local/lamptar xf mysql-5.5.22.tar.gz -C /usr/localcd /usr/local/mysql-5.5.22/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all#-DDEFAULT_COLLATION=utf8_general_ci #-DMYSQL_TCP_PORT=3306                                          -->     MySQL的监听端口make &> /dev/null && make install &>/dev/null   #mysql数据库编译安装需要等待一定时间,大约20分钟mysql_num=`echo $?`[ $mysql_num -ne 0 ] && c_err "mysql install fail" && exit 20 || c_scc "mysql install Success"#源码安装完后要进行数据库的初始化操作cd /usr/local/mysql-5.5.22/rm -rf /etc/my.cnfcp support-files/my-medium.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqld        #复制到系统,制作启动服务/usr/local/mysql/scripts/mysql_install_db   --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data/chmod 755 /etc/init.d/mysqld                                            #修改属性chkconfig --add /etc/init.d/mysqld                                      #添加为服务chkconfig  mysqld --level 235 on                                        #设置在235/etc/init.d/mysqld start &> /dev/null#service mysqld startnetstat -nltp | grep '3306' &> /dev/null[ $? -eq 0 ] && c_scc "3306 port open!!" || c_err "3306 port off!!" #检查3306端口是否开通 #让mysql可以正常执行,需要导入一下命令echo "PATH=$PATH:/usr/local/mysql/bin"  >> /etc/profilesource /etc/profile[ $? -eq 0 ] && c_scc "mysql server Can normally access!!" || c_err "mysql server Access failed!!". /etc/profile. /etc/profile#[root@ ~]#mysql 或 /usr/local/mysql/bin/mysql --> 测试mysql是否正常,没有密码直接进入数据库########################################################################                          PHP server install                                              ########################################################################rpm -e php php-cli php-ldap php-common php-mysql --nodeps   &>/dev/nullyum -y install zlib-devel* libxml2-devel*#安装扩展工具#安装libmcryptcd /usr/local/lamptar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/cd /usr/src/libmcrypt-2.5.8/./configure && make && make install[ $? -eq 0 ] && echo "success" || echo "fail" exitln -s /usr/local/lib/libmcrypt.* /usr/lib/#安装mhashcd /usr/local/lamptar zxf mhash-0.9.9.9.tar.gz -C /usr/src/cd /usr/src/mhash-0.9.9.9/./configure && make && make installln -s /usr/local/lib/libmhash* /usr/lib/安装mcryptcd /usr/local/lamptar zxf mcrypt-2.6.8.tar.gz -C /usr/srccd /usr/src/mcrypt-2.6.8/export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH./configure && make && make install./configure && make && make install[ $? -eq 0 ] && echo "success" || echo "fail" exit#安装phpcd /usr/local/lamptar zxf php-5.3.6.tar.gz -C /usr/srccd /usr/src/php-5.3.6/./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstringmake && make install[ $? -eq 0 ] && echo "success" || echo "fail" exit#配置phpcp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini#安装扩展工具cd /usr/local/lamp/tar zxvf  ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/srccd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/cp ZendGuardLoader.so /usr/local/php5/lib/php#修改php.ini配置文件echo Zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so >> /usr/local/php5/php.iniecho Zend_loader.enable=1 >> /usr/local/php5/php.ini#httpd.conf 配置的调整sed -i '310i AddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.confsed -i '167 s/html/php/' /usr/local/httpd/conf/httpd.conftouch /usr/local/httpd/htdocs/ceshi.phpecho -e "
" > /usr/local/httpd/htdocs/ceshi.php  #测试apache与PHP是否可以调试通 sed -i '53 s/^#//' /usr/local/httpd/conf/httpd.conf/usr/local/httpd/bin/apachectl start &> /dev/null/usr/local/httpd/bin/apachectl restart &> /dev/nullcurl http://127.0.0.1/ceshi.php &> /dev/null[ $? -eq 0 ] && c_scc "web server and php Access Success !!" || c_err "web server and php Access failed!!"

需要的包如下,这是我用的包。

[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解压好的文件移动到该目录下

5.打开浏览器输入

但是要实现很多的功能就不是很容易了,这是我最近发现的一个word press 搭建的个人博客,我觉得非常的好,链接如下。

可以进去看看,里面内容很好。