源码搭建LAMP环境参考手册

源码搭建LAMP环境参考手册

一、部署规划

1.1 版本控制

版本作者日期修改记录备注
V1.0XXX2018-4-27初始创建

1.2 设备部署

角色IP地址主机名功能备注
server192.168.10.8min.linux.yu提供LAMP环境
client192.168.10.2client.linux.yu访问、测试

二、环境说明

2.1 系统版本

Distributor ID: CentOS
Description:    CentOS release 6.5 (Final)
Release:    6.5
Codename:   Final

2.2 软件版本

  • MySQL版本

mysql-5.6.25.tar.gz
  • Apache版本

httpd-2.4.12.tar.bz2
  • PHP版本

php-5.6.11.tar.xz

2.3 系统初始化

2.3.1 关闭防火墙和selinux
[root@min ~]# service iptables stop
[root@min ~]# chkconfig iptables off
[root@min ~]# chkconfig --list |grep iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off


[root@min ~]# setenforce 0
setenforce: SELinux is disabled

[root@min ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled                          //设为disabled,永久关闭
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
2.3.2 配置yum源
[root@min yum.repos.d]# cd /etc/yum.repos.d/
[root@min yum.repos.d]# ll
total 24
drwxr-xr-x. 2 root root 4096 Apr 27 15:15 backup
-rw-r--r--. 1 root root 1926 Nov 27  2013 CentOS-Base.repo
-rw-r--r--. 1 root root  638 Nov 27  2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 Nov 27  2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 Nov 27  2013 CentOS-Vault.repo

//为原来的yum源备份
[root@min yum.repos.d]# mv Cent*  backup
[root@min yum.repos.d]# ll
total 8
drwxr-xr-x. 2 root root 4096 Apr 27 15:16 backup

 //搭建新的本地yum
[root@min yum.repos.d]# vim mylocal.repo 

[mylocal]
name=mylocal
baseurl=file:///mnt/dvd
enabled=1
gpgcheck=0

//清理缓存
[root@min yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: mylocal
Cleaning up Everything
Cleaning up list of fastest mirrors
 
 //创建新缓存
[root@min yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
mylocal                                                                       | 4.0 kB     00:00 ... 
mylocal/group_gz                                                              | 220 kB     00:00 ... 
mylocal/filelists_db                                                          | 5.8 MB     00:00 ... 
mylocal/primary_db                                                            | 4.4 MB     00:00 ... 
mylocal/other_db                                                              | 2.7 MB     00:00 ... 
Metadata Cache Created
2.3.3 需要安装的其他软件包
# yum groupinstall "Development tools" -y
# yum groupinstall "Desktop Platform Development" -y   桌面开发工具包(图形化相关包)
# yum install cmake
# yum install ncurses-devel
//必须安装

三、安装步骤

说明:注意安装顺序,不同版本MySQL、Apache、PHP之间的依赖关系不同,所以安装顺序有一定要求,本手册所使用的软件没有要求,但最好是MySQL、Apache、PHP的顺序。

3.1 编译安装MySQL

3.1.1 安装规划
1. 安装目录     /mysql25/base_dir
2. 数据目录     /mysql25/data
3. 端口        3307
4. socket文件     /mysql25/base_dir
3.1.2 解压软件包
//所有软件都放在 /LAMP文件夹下
[root@min ~]# cd /LAMP/
[root@min LAMP]# ls
apr-1.5.2.tar.bz2                          mysql-5.6.25.tar.gz                        phpMyAdmin-4.4.11-all-languages.zip
apr-util-1.5.4.tar.bz2                     mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz  phpwind_v9.0.1_utf8.zip
Discuz_X2.5_SC_UTF8.zip                    mysql-5.6.31.tar.gz                        wordpress-4.7.3-zh_CN.tar.gz
httpd-2.4.12.tar.bz2                       php-5.6.11.tar.xz
mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz  php-5.6.23.tar.xz
[root@min LAMP]# tar -xf mysql-5.6.25.tar.gz -C /usr/src/
[root@min LAMP]# ls /usr/src/
debug  kernels  mysql-5.6.25
3.1.3 安装
  • 创建相应的目录和用户并授权

[root@min LAMP]# mkdir /mysql25/base_dir -p
[root@min LAMP]# mkdir /mysql25/data

//-r创建一个系统用户,-s指定默认的shell /sbin/nologin 不能登录操作系统
[root@min LAMP]# useradd -r mysql -s /sbin/nologin
[root@min yum.repos.d]# id mysql
uid=498(mysql) gid=498(mysql) groups=498(mysql)

[root@min LAMP]# ll -d /mysql25/
drwxr-xr-x 4 root root 4096 Apr 26 10:09 /mysql25/
[root@min LAMP]# chown -R mysql.mysql /mysql25/
[root@min LAMP]# ll -d /mysql25/
drwxr-xr-x 4 mysql mysql 4096 Apr 26 10:09 /mysql25/
[root@min yum.repos.d]# ll /mysql25/
total 8
drwxr-xr-x. 13 mysql mysql 4096 Apr 27 12:23 base_dir
drwx------.  6 mysql mysql 4096 Apr 27 12:23 data
  • 进入到解压目录进行安装

[root@min LAMP]# cd /usr/src/mysql-5.6.25/
[root@min mysql-5.6.25]# pwd
/usr/src/mysql-5.6.25
  • 配置、编译、安装

vim /usr/src/mysql-5.6.25/cmake.sh      //用脚本进行配置
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql25/base_dir/ \
-DMYSQL_DATADIR=/mysql25/data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DSYSCONFDIR=/mysql25/base_dir/etc \
-DMYSQL_UNIX_ADDR=/mysql25/base_dir/mysql.sock \
-DMYSQL_TCP_PORT=3307 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_USER=mysql

chmod +x cmake.sh

编译:
make

安装:
make install
  • 安装完成后配置数据库

[root@min etc]# mv /etc/my.cnf /opt/     
//这一步很重要,这是系统遗留文件,它会指定MySQL/var/lib/mysql里去找文件,但是安装目录并不在/var/lib/mysql 中,所以会报错,所以要把这个文件移走,或者更改其内容,改为真实安装的目录。

//初始化数据到/mysql25/data
[root@min base_dir]# scripts/mysql_install_db --user=mysql --basedir=/mysql25/base_dir --datadir=/mysql25/data
3.1.4 测试、验证、启动
[root@min base_dir]# bin/mysqld_safe --user=mysql &  //用安全模式登录验证

[root@min mysql25]# ps -ef|grep mysql
root      56548   3186  0 11:27 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql
mysql     56638  56548  1 11:27 pts/0    00:00:00 /mysql25/base_dir/bin/mysqld --basedir=/mysql25/base_dir --datadir=/mysql25/data --plugin-dir=/mysql25/base_dir/lib/plugin --user=mysql --log-error=/mysql25/data/server.itcast.cc.err --pid-file=/mysql25/data/server.itcast.cc.pid
root      56664  52572  0 11:27 pts/1    00:00:00 grep mysql
[root@min mysql25]# netstat -nltp|grep 3307
tcp        0      0 :::3307                     :::*                        LISTEN      56638/mysqld      
  • 更改启动方式,用service启动

[root@min base_dir]# cp support-files/mysql.server /etc/init.d/mysql25
[root@min base_dir]# netstat -nltp|grep 3307
[root@min base_dir]# service mysql25 start
Starting MySQL                                             [  OK  ]
[root@min base_dir]# netstat -nltp|grep 3307
tcp        0      0 :::3307                     :::*                        LISTEN      56820/mysqld 
  • 登录验证

[root@min base_dir]# /mysql25/base_dir/bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.25 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit
Bye
  • 用mysql命令直接登录

[root@min base_dir]# vim /etc/profile
export PATH=/mysql25/base_dir/bin:$PATH       //在文件的最后增加
[root@min base_dir]# source /etc/profile   //重新读取该配置文件

[root@min ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.25 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  • 设置数据库密码

[root@min ~]# mysqladmin -uroot password '123456'
Warning: Using a password on the command line interface can be insecure.

3.2 编译安装Apache

3.2.1 安装依赖包apr

说明:系统自带apr版本过低,需要重新安装apr

# tar xf apr-1.5.2.tar.bz2 -C /usr/src/
# cd /usr/src/apr-1.5.2 
# ./configure                   //一定要进入解压文件夹内执行
# make
# make install

# tar xf apr-util-1.5.4.tar.bz2 -C /usr/src/
# cd /usr/src/apr-util-1.5.4/
# ./configure --with-apr=/usr/local/apr/bin/apr-1-config    //指定软件apr的路径
# make
# make install
3.2.2 安装httpd(Apache)软件
  • 解压软件

[root@min LAMP]# tar -xf httpd-2.4.12.tar.bz2 -C /usr/src/
[root@min LAMP]# cd /usr/src/
[root@min src]# ls
apr-1.5.2  apr-util-1.5.4  debug  httpd-2.4.12  kernels  mysql-5.6.25
[root@min src]# cd httpd-2.4.12/   //进入解压文件夹进行安装
[root@min httpd-2.4.12]# pwd
/usr/src/httpd-2.4.12
  • 安装相关软件

[root@min httpd-2.4.12]# yum -y install pcre-devel //若没有安装会报错,显示缺少依赖软件
  • 配置

vim /usr/src/httpd-2.4.12/apache.sh   //用脚本配置
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

[root@min httpd-2.4.12]# chmod +x apache.sh 

[root@min httpd-2.4.12]# ./apache.sh   //执行脚本
  • 编译、安装

# make 
# make install
  • 验证

# ls /usr/local/apache2/        //确认这个目录产生后,说明apache编译安装成功
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

3.3 编译安装PHP

3.3.1 安装前装备
  • 安装可能缺少的软件

[root@min php-5.6.11]# yum -y install libcurl-devel
//可以先配置,若报错缺少此软件,再安装也可以
  • 解压到指定目录中

[root@min LAMP]# tar -xf php-5.6.11.tar.xz -C /usr/src/
[root@min LAMP]# cd /usr/src/
[root@min src]# ls
apr-1.5.2  apr-util-1.5.4  debug  httpd-2.4.12  kernels  mysql-5.6.25  php-5.6.11
[root@min src]# cd php-5.6.11/
[root@min php-5.6.11]# pwd
/usr/src/php-5.6.11  
//安装前一定要进入解压目录
3.3.2 安装
  • 配置

vim /usr/src/php-5.6.11/php.sh 
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/mysql25/base_dir/ \
--with-mysqli=/mysql25/base_dir/bin/mysql_config \
--with-pdo-mysql=/mysql25/base_dir \
--with-zlib \
--with-zlib-dir=/mysql25/base_dir/zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath

chmod +x /usr/src/php-5.6.11/php.sh
[root@min php-5.6.11]# ./php.sh
  • 编译、安装

# make              //make成功后,会显示让你make test,不用做
# make install
  • 验证

# ls /usr/local/apache2/modules/libphp5.so  //确认有这个.so模块文件,就表示编译php成功

四、后续配置

4.1 配置Apache

  • 修改Apache配置文件

# vim /usr/local/apache2/conf/httpd.conf
1> 配置优先支持中文
LoadModule negotiation_module modules/mod_negotiation.so    //此模块打开注释
Include conf/extra/httpd-languages.conf         //打开此选项,扩展配置文件就生效了

# vim /usr/local/apache2/conf/extra/httpd-languages.conf   //修改子配置文件
DefaultLanguage zh-CN       //打开注释,默认语言集改为中文
  • 配置Apache对PHP支持

# vim /usr/local/apache2/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so    //在这句下面加上以下命令
AddHandler php5-script   .php       
AddType text/html  .php     
//Apache中加入支持PHP


<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
 //默认主页加上index.php,并放在index.html,支持php的首页文件
  • 配置网站家目录

DocumentRoot "/web"         //修改网站家目录
<Directory "/web">      
......
</Directory>

//默认的网站目录:/usr/local/apache2/htdocs/

4.2 让PHP支持链接本地数据库

  • 指定socket文件路径

# cp /usr/src/php-5.6.11/php.ini-production /usr/local/lib/php.ini

//告诉PHP从哪里读取socket文件。
  • 修改配置文件

# vim /usr/local/lib/php.ini

[MySQL]
mysql.default_port = 3307       改成对应的mysql的端口
mysql.default_socket = /mysql25/base_dir/       对应的socket文件地址

[MySQLi]
mysqli.default_port = 3307
mysqli.default_socket = /mysql25/base_dir/
  • 向网站家目录里写入测试页

[root@min ~]# vim /web/index.php
<?php
        phpinfo();
>

五、测试

5.1 启动MySQL和Apache

  • MySQL启动见3.1.4

  • 使用service启动Apache

# cp /usr/local/apache2/bin/apachectl /etc/init.d/apache
# service apache start 

5.2 测试是否支持PHP

登录client ,在浏览器里输入:http:/192.168.10.8/

显示PHP测试页面,登入成功!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值