码迷,mamicode.com
首页 > 其他好文 > 详细

LAMP平台源码搭建

时间:2015-05-03 23:51:02      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:target   style   title   blank   border   

实验环境

[root@LAMP ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@LAMP ~]# uname -rn
LAMP 2.6.32-504.el6.x86_64

使用软件

apr-1.5.0.tar.bz2
apr-util-1.5.3.tar.bz2
httpd-2.4.10.tar.bz2
mariadb-5.5.43-linux-x86_64.tar.gz
php-5.4.40.tar.bz2
phpMyAdmin-4.0.5-all-languages.zip
wordpress-3.3.1-zh_CN.zip
xcache-3.2.0.tar.bz2
Discuz_7.2_FULL_SC_UTF8.zip

 

编译安装httpd

2.4以上的版本的httpd依赖于apr,而且apr的版本不能低于1.4,但是系统自带的apr版本不够所以需要安装高版本的apr,还依赖与pcre-devel openssl-devel

yum -y groupinstall "Development tools""Desktop Platform Development"
yum -y install pcre-devel openssl-devel
 
tar xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
cd ..
 
tar xf apr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr
make && make install
cd ..

编译安装httpd

tar xf httpd-2.4.10.tar.bz2
cd httpd-2.4.10
./configure --prefix=/usr/local/apache--sysconfdir=/etc/httpd24 --enable-so --enable-ssl 
--enable-cgi--enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util/ --enable-modules=most--enable-mpms-shared=all 
--with-mpm=event
make && make install

编译参数说明:

--prefix=/usr/local/apache           #安装路径

--sysconfdir=/etc/httpd24            #配置文件路径

--enable-so                          #启用动态模块加载

--enable-ssl                         #启用ssl功能

--enable-cgi                         #启用cgi脚本程序支持

--enable-rewrite                     #启用网页地址重启功能

--with-zlib                          #支持zlib压缩功能

--with-pcre                          #支持pcre

--with-apr=/usr/local/apr            #设置apr路径

--with-apr-util=/usr/local/apr-util  #设置apr-util路径

--enable-modules=most                #尽可能多的启用模块

--enable-mpms-shared=all             #把所有的mpm功能都做成共享模块

--with-mpm=event                     #设置mpm模块为event

优化执行路径,让系统可以查找到httpd的命令

[root@LAMP httpd-2.4.10]# vim/etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
[root@LAMP httpd-2.4.10]# . /etc/profile.d/httpd.sh
[root@LAMP httpd-2.4.10]# which httpd
/usr/local/apache/bin/httpd
[root@LAMP httpd-2.4.10]# hash –r  #清除以前系统上记录的httpd搜索记录

设置启动脚本

[root@LAMP apache]# cp bin/apachectl/etc/init.d/httpd24
[root@LAMP apache]# vim /etc/init.d/httpd24
#!/bin/sh
# chkconfig: 35 85 15    #设置服务识别参数,3、5级别启动,启动顺序85,关闭顺序15
# description: Apache    #服务描述信息
[root@LAMP apache]# chkconfig --add httpd24
[root@LAMP apache]# chkconfig --level 35 httpd24 on
[root@LAMP apache]# chkconfig --list httpd24
httpd24          0:off  1:off  2:off  3:on   4:off  5:on   6:off

启动服务并且访问验证

[root@LAMP apache]# service httpd24 start
[root@LAMP apache]# netstat -lnt | grep 80
tcp       0      0 :::80                       :::*                        LISTEN


技术分享

安装mariadb

新建MariaDB用户,并且设置用户为数据目录/mydata/data/的属主和属组

[root@LAMP Sources]# groupadd -r mysql
[root@LAMP Sources]# useradd -g mysql -r -s/sbin/nologin -M mysql
[root@LAMP Sources]# chown -R mysql:mysql/mydata/data/

安装MariaDB并初始化

tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/
cd /usr/local/
ln -sv mariadb-5.5.43-linux-x86_64/ mysql
cd mysql/
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/   #指定进程用户,和数据目录


为MariaDB提供主配置文件

[root@LAMP mysql]# cp support-files/my-large.cnf/etc/my.cnf
[root@LAMP mysql]# vim /etc/my.cnf
thread_concurrency = 2    #CPU数量乘以2
datadir = /mydata/data    #指定数据文件目录
innodb_file_per_table = 1 #设置每表一个表文件

为MariaDB提供启动脚本

[root@LAMP mysql]# cp support-files/mysql.server/etc/rc.d/init.d/mysqld
[root@LAMP mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@LAMP mysql]# chkconfig --add mysqld
[root@LAMP mysql]# chkconfig mysqld on
[root@LAMP mysql]# chkconfig --list mysqld
mysqld           0:off  1:off  2:on   3:on   4:on   5:on   6:off

修改PATH环境变量,让系统直接使用MariaDB相关命令

[root@LAMP mysql]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@LAMP mysql]# . /etc/profile.d/mysql.sh
启动测试
[root@LAMP mysql]# service mysqld start
Starting MySQL...                                         [  OK  ]
[root@LAMP mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.43-MariaDB-log MariaDB Server
 
Copyright (c) 2000, 2015, Oracle, MariaDBCorporation Ab and others.
 
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.
 
MariaDB [(none)]>

 

编译安装php

解决依赖关系

yum -y install bzip2-devel libmcrypt-devel

编译安装php

tar xf php-5.4.40.tar.bz2
cd php-5.4.40
./configure --prefix=/usr/local/php--with-mysql=/usr/local/mysql/ 
--with-mysqli=/usr/local/mysql/bin/mysql_config--with-apxs2=/usr/local/apache/bin/apxs
--enable-mbstring --with-freetype-dir--with-png-dir --with-zlib --with-libxml-dir=/usr/ 
--enable-xml--enable-sockets --with-mcrypt --with-config-file-path=/etc/php/php.ini
--with-config-file-scan-dir=/etc/php.d
make && make install

编译参数说明:

--prefix=/usr/local/php           #php安装位置

--with-mysql=/usr/local/mysql/    #指明mysql安装路径

--with-mysqli=/usr/local/mysql/bin/mysql_config  #mysql的访问接口

--with-apxs2=/usr/local/apache/bin/apxs  #apache的apx位置

--enable-mbstring         #支持多字节文本

--with-freetype-dir       #搜索当前系统支持的字体

--with-png-dir            #支持png格式的图片

--with-jpeg-dir           #支持jpeg格式的图片

--with-zlib               #支持zlib压缩

--with-libxml-dir=/usr/   #libxml路径

--enable-xml              #支持xml文档的处理

--enable-sockets          #启用socket功能

--with-mcrypt             #启用mcrypt功能

--with-bz2                #支持with-bz2功能

--with-config-file-path=/etc/php/php.ini  #php主配置文件

--with-config-file-scan-dir=/etc/php.d    #辅助配置文件

为php提供配置文件

[root@LAMP php-5.4.40]# mkdir /etc/php
[root@LAMP php-5.4.40]# cp php.ini-production/etc/php/php.ini

编辑apache支持php

[root@LAMP php-5.4.40]# vim /etc/httpd24/httpd.conf
   AddTypeapplication/x-httpd-php  .php
   AddTypeapplication/x-httpd-php-source  .phps
   DirectoryIndex  index.php  index.html

重启httpd或让其重新载入配置文件即可测试php是否已经可以正常使用

Apache连接php测试

[root@LAMP php-5.4.40]# vim/usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>

技术分享

php连接MariaDB测试

[root@LAMP php-5.4.40]# vim/usr/local/apache/htdocs/index.php
<?php
 $conn=mysql_connect(‘localhost‘,‘root‘,‘‘);
  if ($conn)
   echo"连接数据库成功";
  else
   echo"连接数据库失败"
?>

技术分享

设置虚拟主机

编辑主配置文件,注释中心主机,启用虚拟主机选项

#DocumentRoot "/usr/local/apache/htdocs"
Include /etc/httpd/extra/httpd-vhosts.conf

创建相关页面

[root@LAMP ~]# mkdir -p/www/{bbs,phpMyadmin,wordpress}
[root@LAMP ~]# tree /www/
/www/
├── bbs
├── phpMyadmin
└── wordpress
[root@LAMP ~]# echo bbs > /www/bbs/index.html
[root@LAMP ~]# echo wordpress >/www/wordpress/index.html
[root@LAMP ~]# echo myadmin >/www/phpMyadmin/index.html

编辑虚拟主机配置文件设置虚拟主机

<VirtualHost *:80>
    ServerName bbs.discuz.com
    DocumentRoot "/www/bbs"
    <Directory "/www/bbs">
       Options none
       AllowOverride none
       Require all granted
    </Directory>
    ErrorLog"/var/log/httpd/bbs-error-log"
    CustomLog"/var/log/httpd/bbs-access-log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerName mysql.phpMyadmin.com
    DocumentRoot "/www/phpMyadmin"
    <Directory"/www/phpMyadmin">
       Options none
       AllowOverride none
       Require all granted
    </Directory>
    ErrorLog"/var/log/httpd/phpMyadmin-error-log"
    CustomLog"/var/log/httpd/phpMyadmin-access-log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerName blog.wordpress.com
    DocumentRoot "/www/wordpress"
    <Directory "/www/wordpress">
       Options none
       AllowOverride none
       Require all granted
    </Directory>
    ErrorLog"/var/log/httpd/wordpress-error-log"
    CustomLog"/var/log/httpd/wordpress-access-log" common
</VirtualHost>

验证:客户端修改hosts文件,然后分别访问虚拟主机测试

技术分享

技术分享

技术分享

部署phpMyadmin

unzip phpMyAdmin-4.0.5-all-languages.zip
mv phpMyAdmin-4.0.5-all-languages/*/www/phpMyadmin/
cd /www/phpMyadmin/
cp config.sample.inc.php config.inc.php

访问页面出现如下内容表示部署成功

技术分享

此处不允许空密码登录,而默认安装的MariaDB是管理员是空密码,所以需要手动为MariaDB管理员设置密码

MariaDB [mysql]> UPdate user SETPassword=PASSWORD(‘redhat‘) WHERE user=‘root‘;
MariaDB [mysql]> FLUSH PRIVILEGES;

访问成功,结果如下所示

技术分享

论坛部署Discuz

连接数据库,创建bbs的库和用户

MariaDB [(none)]> create database bbsdb;
MariaDB [(none)]> GRANT all ON bbsdb.* TO‘runbbs‘@‘localhost‘ IDENTIFIED BY ‘adm123‘;

解压程序代码

[root@LAMP Sources]# unzipDiscuz_7.2_FULL_SC_UTF8.zip -d Discuz

解压完成之后出现下面三个目录表示解压成功

[root@LAMP Sources]# ls -lh Discuz
total 12K
drwxr-xr-x  2root root 4.0K Oct 31  2012 readme
drwxr-xr-x 12 root root 4.0K Oct 31  2012 upload
drwxr-xr-x  4root root 4.0K Oct 31  2012 utility

 

将upload目录上传到web目录下,并且设置httpd的服务用户对指定目录有写权限,否则会报错。

[root@LAMP Sources]# mv Discuz/upload/* /www/bbs/
[root@LAMP Sources]# cd /www/bbs/
[root@LAMP bbs]# chown -R daemon templates/attachments/ forumdata/
[root@LAMP bbs]# chown -R daemonuc_client/data/cache/ config.inc.php

访问web安装即可

技术分享

添加数据库相关信息

技术分享

只需要更改提供进行设置即可,设置完成出现下面的界面表示安装成功

技术分享

安装后的处理,为了放置出现再次安装的情况,需要移除安装文件install

[root@LAMP bbs]# mv install/ install.lock
[root@LAMP bbs]# chmod 600 install.lock/

部署博客

[root@LAMP Sources]# unzipwordpress-3.3.1-zh_CN.zip
[root@LAMP Sources]# mv wordpress/* /www/wordpress/
[root@LAMP Sources]# cd /www/wordpress/
[root@LAMP wordpress]# cp wp-config-sample.phpwp-config.php
[root@LAMP wordpress]# vim wp-config.php
/** WordPress 数据库的名称 */
define(‘DB_NAME‘, ‘wordpress‘);
 
/** MySQL 数据库用户名 */
define(‘DB_USER‘, ‘wordpress‘);
 
/** MySQL 数据库密码 */
define(‘DB_PASSWORD‘, ‘myblog‘);

数据库创建博客的数据库和博客连接数据库的用户

MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> GRANT all ON wordpress.* TO‘wordpress‘@‘localhost‘ IDENTIFIED BY ‘myblog‘;

设置完成之后打开浏览器输入http://blog.wordpress.com/wp-admin/install.php即开始安装

技术分享

安装完成之后会转到登录页面,询问是否登录到后台管理博客

技术分享

输入博客的域名访问博客前台

技术分享

本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://ximenfeibing.blog.51cto.com/8809812/1641486

LAMP平台源码搭建

标签:target   style   title   blank   border   

原文地址:http://ximenfeibing.blog.51cto.com/8809812/1641486

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!