#!/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 搭建的个人博客,我觉得非常的好,链接如下。
可以进去看看,里面内容很好。