#!/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_file echo -e "\t`date +"%F %T"` 开始部署环境" | tee -a $log_file c_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 iptables service iptables stop &>/dev/null chkconfig 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/config sed -i ‘s/SELINUXTYPE=targeted/#&/‘ /etc/selinux/config sed -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>>>linux yum -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 #测试使用curl yum -y install curl-devel &> /dev/null cd /usr/local/lamp tar 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/null apache_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/httpd sed -i ‘2i #chkconfig: 35 85 21‘ /etc/init.d/httpd chkconfig --add httpd sed -i ‘97 s/#//‘ /usr/local/httpd/conf/httpd.conf sed -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` --nodeps groupadd 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 cmake cd /usr/local/lamp tar xf cmake-2.8.6.tar.gz -C /usr/local cd /usr/local/cmake-2.8.6/ ./bootstrap --prefix=/usr/local/cmake &> /dev/null gmake &> /dev/null && gmake install &> /dev/null cmake_num=`echo $?` [ $cmake_num -ne 0 ] && c_err "cmake install fail" && exit 15 || c_scc "cmake install Success" #mysql 所需rpm package yum -y install ncurses-devel* &> /dev/null #源码安装mysql cd /usr/local/lamp tar xf mysql-5.5.22.tar.gz -C /usr/local cd /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.cnf cp support-files/my-medium.cnf /etc/my.cnf cp 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 start netstat -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/profile source /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/null yum -y install zlib-devel* libxml2-devel* #安装扩展工具 #安装libmcrypt cd /usr/local/lamp tar 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" exit ln -s /usr/local/lib/libmcrypt.* /usr/lib/ #安装mhash cd /usr/local/lamp tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/ cd /usr/src/mhash-0.9.9.9/ ./configure && make && make install ln -s /usr/local/lib/libmhash* /usr/lib/ 安装mcrypt cd /usr/local/lamp tar zxf mcrypt-2.6.8.tar.gz -C /usr/src cd /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 #安装php cd /usr/local/lamp tar zxf php-5.3.6.tar.gz -C /usr/src cd /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-mbstring make && make install [ $? -eq 0 ] && echo "success" || echo "fail" exit #配置php cp /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/src cd /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.ini echo 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.conf sed -i ‘167 s/html/php/‘ /usr/local/httpd/conf/httpd.conf touch /usr/local/httpd/htdocs/ceshi.php echo -e "<?php\nphpinfo();\n?>" > /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/null curl 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
安装wordpress(我是在linux虚拟机里面)
1.安装phpMyadmin,在本地登录创建一个数据库用于wp 的数据库。
2.官网下载wordpress,解压文件。
3.找到安装的http的目录,在httpd的htdocs中创建一个文件夹,任意取名,最好叫wp.
4.把wp解压好的文件移动到该目录下
5.打开浏览器输入http://localhost/wp/wordpress安装向导安装即可。
本文出自 “IT生活” 博客,请务必保留此出处http://dingxue.blog.51cto.com/12290895/1970683
服务(1)====一个lamp的脚本以及基于lamp安装wordpress
原文地址:http://dingxue.blog.51cto.com/12290895/1970683