本文共 9410 字,大约阅读时间需要 31 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | #!/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
只要lamp 环境搭好了,装个wordpress 就非常简单了,傻瓜式建站。
安装wordpress(我是在linux虚拟机里面)
1.安装phpMyadmin,在本地登录创建一个数据库用于wp 的数据库。
2.官网下载wordpress,解压文件。
3.找到安装的http的目录,在httpd的htdocs中创建一个文件夹,任意取名,最好叫wp.
4.把wp解压好的文件移动到该目录下
5.打开浏览器输入
但是要实现很多的功能就不是很容易了,这是我最近发现的一个word press 搭建的个人博客,我觉得非常的好,链接如下。
可以进去看看,里面内容很好。
本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1970683,如需转载请自行联系原作者