一、部署规划
1.1 版本控制
版本 | 作者 | 日期 | 修改记录 | 备注 |
---|---|---|---|---|
V1.0 | XXX | 2018-4-27 | 初始创建 | |
1.2 设备部署
角色 | IP地址 | 主机名 | 功能 | 备注 |
---|---|---|---|---|
server | 192.168.10.8 | min.linux.yu | 提供LAMP环境 | |
client | 192.168.10.2 | client.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测试页面,登入成功!