logo资料库

Centos6下编译安装LAMP的完整部署记录(个人珍藏版本).doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
之前用的最多的 web 框架是 LNMP,偶尔也会用到 LAMP。接下来简单说下 LAMP 环境的部署记录,这里选择 源码安装的方式: 1)Mysql 的安装 部署过程参考:http://www.cnblogs.com/kevingrace/p/6109679.html 2)Apache 的安装(下面各软件版本要对应,否则会因为版本不兼容而导致 Apache 编译失败) LAMP 编译安装软件包下载地址:https://pan.baidu.com/s/1MPga1bL1sutGeubW-uXcpg 提取密码:qp2c 依赖软件安装 [root@jenkins-server ~]# yum install gcc gcc-c++ make wget [root@jenkins-server ~]# yum install zlib-devel openssl-devel [root@jenkins-server ~]# yum install -y perl perl-devel apr 编译安装(下载地址:http://archive.apache.org/dist/apr/) [root@jenkins-server ~]# cd /usr/local/src/ [root@jenkins-server src]# wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz [root@jenkins-server src]# tar zxvf apr-1.5.2.tar.gz [root@jenkins-server src]# cd apr-1.5.2 [root@jenkins-server apr-1.5.2]# ./configure --prefix=/usr/local/apache/apr && make && make install apr-util 编译安装(下载地址:http://apr.apache.org/download.cgi) [root@jenkins-server src]# wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz [root@jenkins-server src]# tar zxvf apr-util-1.5.4.tar.gz [root@jenkins-server src]# cd apr-util-1.5.4 [root@jenkins-server apr-util-1.5.4]# ./configure --prefix=/usr/local/apache/apr-util --with- apr=/usr/local/apache/apr [root@jenkins-server apr-util-1.5.4]# make && make install 如果出现报错: make[1]: *** [xml/apr_xml.lo] Error 1 make[1]: Leaving directory `/usr/local/src/apr-util-1.6.1' make: *** [all-recursive] Error 1 解决办法:yum install expat-devel -y pcre 编译安装 [root@jenkins-server src]# wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.37/pcre- 8.37.tar.gz [root@jenkins-server src]# tar zxvf pcre-8.37.tar.gz [root@jenkins-server src]# cd pcre-8.37 [root@jenkins-server pcre-8.37]# ./configure && make && make install apache 编译安装 [root@jenkins-server src]# wget http://www.apache.org/dist/httpd/httpd-2.4.25.tar.gz [root@jenkins-server src]# tar zxvf httpd-2.4.25.tar.gz [root@jenkins-server src]# cd httpd-2.4.25 [root@jenkins-server httpd-2.4.25]# ./configure --prefix=/usr/local/apache --with- apr=/usr/local/apache/apr/bin/apr-1-config --with-apr-util=/usr/local/apache/apr-util/bin/apu-1- config --enable-module=so --enable-mods-shared=all --enable-deflate --enable-expires --
enable-headers --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache -- enable-mime-magic --enable-authn-dbm --enable-vhost-alias --enable-so --enable-rewrite -- enable-ssl --with-mpm=prefork [root@jenkins-server httpd-2.4.25]# make && make install 配置 apache [root@jenkins-server src]# cd /usr/local/apache/conf/ [root@jenkins-server conf]# vim httpd.conf ........ ServerName localhost:80 ........ AddType application/x-compress .Z AddType application/x-gzip .gz .tgz //这两行是默认就有的,在这两行下面添加下面两行 //使 apache 支持 php //添加 php 模块,这个在后面 php 编译安装后就 //修改 apache 站点目录路径,默认是 //添加默认的首页面,index.html 和 index.php //添加虚拟主机配置文件 modules/libphp5.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .php5 ...... LoadModule php5_module 会自动加进来。最后一定要检查这里是否有 php 模块产生 ...... DocumentRoot "/var/www/html" /usr/local/apache/htdocs。注意这两行要修改一致。 ....... DirectoryIndex index.html index.php ...... Include conf/extra/mxwang.conf [root@jenkins-server conf]# cd extra/ [root@jenkins-server extra]# vim mxwang.conf ServerName www.mxwang.cn DocumentRoot /var/www/html/ ErrorLog "/var/log/httpd/www.mxwang.cn-error_log" CustomLog "/var/log/httpd/www.mxwang.cn-access_log" common
启动 apache [root@jenkins-server extra]# /usr/local/apache/bin/httpd [root@jenkins-server extra]# ps -ef|grep http root 30145 1 2 19:53 ? 00:00:00 /usr/local/apache/bin/httpd nobody 30146 30145 0 19:53 ? 00:00:00 /usr/local/apache/bin/httpd nobody 30147 30145 0 19:53 ? 00:00:00 /usr/local/apache/bin/httpd nobody 30148 30145 0 19:53 ? 00:00:00 /usr/local/apache/bin/httpd nobody 30149 30145 0 19:53 ? 00:00:00 /usr/local/apache/bin/httpd nobody 30150 30145 0 19:53 ? 00:00:00 /usr/local/apache/bin/httpd root 30156 2090 0 19:53 pts/3 00:00:00 grep --color http [root@jenkins-server extra]# cat /var/www/html/test.html sdfasdfasdf 测试访问:http://www.mxwang.cn/test.html 3)PHP 编译安装 [root@jenkins-server ~]# yum install libxml2-devel curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel net-snmp net-snmp-devel [root@jenkins-server ~]# cd /usr/local/src/ [root@jenkins-server src]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz [root@jenkins-server src]# tar zxvf libiconv-1.14.tar.gz [root@jenkins-server src]# cd libiconv-1.14 [root@jenkins-server libiconv-1.14]# ./configure --prefix=/usr/local/php/libiconv && make && make install [root@jenkins-server src]# wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz [root@jenkins-server src]# tar zxvf libmcrypt-2.5.8.tar.gz [root@jenkins-server src]# cd libmcrypt-2.5.8 [root@jenkins-server libmcrypt-2.5.8]# ./configure && make && make install [root@jenkins-server libmcrypt-2.5.8]# /sbin/ldconfig && cd libltdl/ [root@jenkins-server libltdl]# ./configure --enable-ltdl-install && make && make install [root@jenkins-server src]# wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz [root@jenkins-server src]# tar zxvf mhash-0.9.9.9.tar.gz [root@jenkins-server src]# cd mhash-0.9.9.9 [root@jenkins-server mhash-0.9.9.9]# ./configure && make && make install [root@jenkins-server src]# wget http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz [root@jenkins-server src]# tar zxvf mcrypt-2.6.8.tar.gz [root@jenkins-server src]# cd mcrypt-2.6.8 [root@jenkins-server mcrypt-2.6.8]# /sbin/ldconfig && export LD_LIBRARY_PATH=/usr/local/lib:
LD_LIBRARY_PATH [root@jenkins-server mcrypt-2.6.8]# ./configure && make && make install [root@jenkins-server src]# wget http://cn2.php.net/distributions/php-5.6.15.tar.gz [root@jenkins-server src]# tar zxvf php-5.6.15.tar.gz [root@jenkins-server src]# cd php-5.6.15 [root@jenkins-server php-5.6.15]# ./configure --prefix=/usr/local/php --with-config-file- path=/usr/local/php/etc --with-iconv=/usr/local/php/libiconv --with- apxs2=/usr/local/apache/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo- mysql=mysqlnd --with-gd --with-jpeg-dir --with-png-dir --with-pear --with-freetype-dir --with- zlib --with-libxml-dir --with-iconv-dir --with-xmlrpc --with-mhash --with-mcrypt --with-curl -- with-openssl --with-snmp --with-gettext --enable-pdo --enable-mbstring --enable-ctype -- enable-simplexml --enable-ftp --enable-sockets --enable-gd-native-ttf --enable-sysvsem -- enable-exif --enable-sysvshm --enable-xml --enable-dom --enable-simplexml --enable-shmop -- enable-zip --enable-mbregex --enable-bcmath --enable-inline-optimization --enable-soap [root@jenkins-server php-5.6.15]# make && make install [root@jenkins-server php-5.6.15]# cp php.ini-production /usr/local/php/etc/php.ini [root@jenkins-server php-5.6.15]# vim /etc/profile ...... export PATH=$PATH:/usr/local/php/bin [root@jenkins-server php-5.6.15]# source /etc/profile [root@jenkins-server src]# /usr/local/php/bin/php -m [PHP Modules] bcmath Core ctype curl date dom ereg exif fileinfo filter ftp gd gettext hash iconv json libxml mbstring mcrypt mhash mysql mysqli mysqlnd openssl pcre PDO pdo_mysql pdo_sqlite Phar posix
Reflection session shmop SimpleXML snmp soap sockets SPL sqlite3 standard sysvsem sysvshm tokenizer xml xmlreader xmlrpc xmlwriter zip zlib [Zend Modules] 一定要记得重启 aapche [root@jenkins-server src]# pkill -9 http [root@jenkins-server src]# ps -ef|grep http root 31091 12736 0 20:06 pts/6 00:00:00 grep --color http [root@jenkins-server src]# /usr/local/apache/bin/httpd [root@jenkins-server src]# ps -ef|grep http root 31098 1 7 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31099 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31100 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31101 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31102 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31103 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd root 31106 12736 0 20:06 pts/6 00:00:00 grep --color http 测试 php: [root@jenkins-server src]# cat /var/www/html/test.php 访问:www.mxwang.cn/test.php
注意几点: php.ini 文件中的设置时区 [root@jenkins-server src]# vim /usr/local/php/etc/php.ini ...... date.timezone = PRC 保证站点目录下的文件权限和 apache 启动用户一致: [root@jenkins-server src]# ps -ef|grep http root 31098 1 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31099 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31100 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31101 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31102 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31103 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd nobody 31151 31098 0 20:06 ? 00:00:00 /usr/local/apache/bin/httpd root 31409 12736 0 20:10 pts/6 00:00:00 grep --color http [root@jenkins-server src]# ll /var/www/html/ total 40232 drwxr-xr-x. 3 777 nobody 4096 Jan 5 12:47 addons -rw-r--r--. 1 777 nobody 464 Jan 5 12:47 admin.php drwxr-xr-x. 2 777 nobody 4096 Jan 5 12:47 api
-rw-r--r--. 1 777 nobody 216 Jan 5 12:47 api.php ...... 可以将上面的安装过程归档在一个安装脚本里进行一键安装 =================apache 下 http 强制转 https 配置================== 1)在 httpd.conf 文件里使下面模块生效 [root@back ~]# cat /usr/local/apache/conf/httpd.conf|grep rewrite_module ....... LoadModule rewrite_module modules/mod_rewrite.so 2)httpd.conf 配置文件或者是在 httpd-vhost.conf 文件里修改 [root@back ~]# cat /usr/local/apache/conf/httpd.conf ....... DocumentRoot "/data/vhosts" Options FollowSymLinks MultiViews Includes AllowOverride All Require all granted 3)在网站根目录下面添加该文件“.htaccess” 目录访问控制文件,并添加如下内容: #--------------------------------- RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] https #---------------------------------- #开启重定向引擎 #可以不设置 #非 443 端口的数据全部进行重定向 #把需要重定向的内容重定向到 #如果是默认不是 443 端口,那么可以在最后一行写成这样 RewriteRule ^.*$ https://www.wang.com:8443 #当然如果默认是 443 的话,也可以这么写 RewriteRule ^.*$ https://www.wang.com
#该 .htaccess 需要放置在网站的根目录下面才可以生效 #---------------------------------- 含义是这样的:为了让用户访问传统的 http://转到 https://上来,用了一下 rewrite 规则: 第一句:启动 rewrite 引擎 第二句:rewrite 的条件是访问的服务器端口不是 443 端口 第三句:这是正则表达式,^是开头,$是结束,/?表示有没有/都可以(0 或 1 个),(.*)是任何数量的任意字符 整句的意思是讲:启动 rewrite 模块,将所有访问非 443 端口的请求,url 地址内容不变,将 http://变成 https://。 ======================================================== == 看看下面一例: #这些模块功能的配置 [root@back ~]# cat /usr/local/apache/conf/httpd.conf|grep -v "#"|grep -v "^$" ServerRoot "/usr/local/apache" Listen 80 LoadModule authn_file_module modules/mod_authn_file.so 最好都开启了,打开所有 LoadModule 前面的注释,否则 apache 启动可能报错。 LoadModule authn_core_module modules/mod_authn_core.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule access_compat_module modules/mod_access_compat.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule filter_module modules/mod_filter.so LoadModule mime_module modules/mod_mime.so LoadModule log_config_module modules/mod_log_config.so LoadModule env_module modules/mod_env.so LoadModule headers_module modules/mod_headers.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule version_module modules/mod_version.so LoadModule ssl_module modules/mod_ssl.so 块功能一定要打开! #如果使用 https 证书,这个模
分享到:
收藏