一、LAMP环境搭建——apache
准备工作:关闭selinux和iptables
配置本地yum源
关闭系统默认安装的httpd
上传LAMP源码包,安装gcc、make编译工具
1、安装apache
1)rz上传lamp.tar.gz压缩包并解要到指定目录
例:tar -zxvf lamp.tar.gz -C root/mt
2)将/root/mt下所有压缩文件解压到指定文件内
例:创建/root/mt/lamp目录,将全部压缩包解压到lamp目录下
apache使用源码包:httpd-2.4.7.tar.gz
apr-1.4.6.tar.gz
apr-util-1.4.1.tar.gz
3)安装基础依赖
执行:yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel
4)解决apr-1.4.6和apr-util-1.4.1依赖关系
执行:cp -r apr-1.4.6/ httpd-2.4.7/srclib/apr
cp -r apr-util-1.4.1/ httpd-2.4.7/srclib/apr-util
5)cd进入httpd-2.4.7目录使用./configure进行环境检查
执行:./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers --enable-expires --enable-modules=most --enable-deflate --enable-ssl
6)执行make && make install编译并安装
命令:make clean all 清除configure环境检查
2、检测配置文件,服务启停
1)进入安装目录:cd /usr/local/apache2
conf 配置文件目录
htdocs 网页目录
modules 模块存放位置
2)启动命令:/usr/local/apache2/bin/apachectl start
取消警告信息:/usr/local/apache2/conf/httpd.conf取消ServerName的注释信息
二、LAMP环境搭建——MySQL
1、安装MySQL
1)安装基础依赖
执行:yum -y install cmake bison ncurses-devel
2)解压ncurses-5.9.tar.gz到指定目录
例:tar -zxvf ncurses-5.9.tar.gz /root/mt/lamp
3)cd进入ncurses-5.9目录使用./configure进行环境检查
执行: ./configure --with-shared --without-debug --without-ada --enable-overwrite
4)编译并安装:make && make install
5)添加mysql用户:useradd -M -s /sbin/nologin mysql
6)安装MySQL软件:
cd进入mysql-5.5.48目录,执行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
7)编译并安装:make && make install
8)生成配置文件:cp -a support-files/my-medium.cnf /etc/my.cnf
9)进入指定的安装目录:cd /usr/local/mysql
10)递归修改data的所有者:chown -R mysql:root data
11)初始化数据库:./scripts/mysql_install_db --user=mysql
2、启动MySQL
1)后台安全启动:
cd进入/usr/local/mysql内
执行:/usr/local/mysql/bin/mysqld_safe --user=mysql &
2)查看端口:ss -anpt | grep 3306
3、设定MySQL密码
1)执行:/usr/local/mysql/bin/mysqladmin -u 用户名 password 密码
例:/usr/local/mysql/bin/mysqladmin -u root password 123
2)登录MySQL
执行:/usr/local/mysql/bin/mysql -u 用户名 -p 按enter键进入输入密码
例:/usr/local/mysql/bin/mysql -u root -p
三、LAMP环境搭建——PHP
1、安装字体库(freetype)
1)解压tar -zxf freetype-2.3.5.tar.gz到指定目录
2)cd进入解压目录,执行:./configure --prefix=/usr/local/freetype
3)编译并安装:make && make install
2、安装加密库(mcrypt <- mhash + libmcrypt和ltdl)
1)解压tar -zxf libmcrypt-2.5.8.tar.gz到指定目录
2)cd进入解压目录,执行:./configure --prefix=/usr/local/libmcrypt
3)编译并安装:make && make install
4)安装libltdl:执行cd libltdl
./configure --enable-ltdl-install
编译并安装:make && make install
3、安装mhash
1)解压tar -zxf mhash-0.9.9.9.tar.gz到指定目录
2)cd进入解压目录,执行:./configure
3)编译并安装:make && make install
4、安装mcypt
1)解压tar -zxf mcrypt-2.6.8.tar.gz到指定目录
2)cd进入解压目录
3)声明环境变量:export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib
4)执行:./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
5)编译并安装:make && make install
5、安装压缩库(zlib)
1)加压tar -zxf zlib-1.2.3.tar.gz到指定目录
2)cd进入解压目录,执行:./configure
3)修改Makefile:vim Makefile
添加:CFLAGS=-O3 -DUSE_MMAP -fPIC
4)编译并安装:make && make isntall
6、安装图片库(libpng、jpeg)
1)解压tar -zxf libpng-1.2.31.tar.gz到指定目录
2)cd进入解压目录,执行:./configure --prefix=/usr/local/libpng
3)编译并安装:make && make install
4)安装jpeg6:
cd到解压目录外执行:
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
yum -y install libtool*
解压tar -zxf jpegsrc.v6b.tar.gz到执行目录并进入
执行:cp -a /usr/share/libtool/config/config.sub ./
cp -a /usr/share/libtool/config/config.guess ./
执行:./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
编译并安装:make && make install
7、安装配置文件解析库(libxml2)
1)执行:yum -y install libxml2-devel python-devel
2)解压tar -zxf libxml2-2.9.1.tar.gz到指定目录
3)cd进入解压目录,执行:./configure --prefix=/usr/local/libxml2
4)编译并安装:make && make install
8、安装PHP软件
1)解压tar -zxf php-7.0.7.tar.gz到指定目录
2)cd进入解压目录,执行:
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear
3)编译并安装:make && make install
4)生成php配置文件:mkdir /usr/local/php/etc
cp -a php.ini-production /usr/local/php/etc/php.ini
5)修改apache配置文件,使其识别*.php文件,并通过php模块调用php进行页面解析
vim /usr/local/apache2/conf/httpd.conf
添加:AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
取消:#ServerName www.example.com:80前的注释符
6)重新启动apache服务:/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
7)编写php测试界面
cd /usr/local/apache2/htdocs
vim /usr/local/apache2/htdocs/test-php.php
添加:<?php
phpinfo();
?>
8)编写php网页中连接mysql数据库
vim /usr/local/apache2/htdocs/test-php-mysql.php
<?php
$servername = "localhost";
$username = "root";
$password = "123";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if ($conn) {
echo "连接成功";
} else {
//die() 函数输出一条消息,并退出当前脚本,是 exit() 函数的别名。
die("Connection failed: " . mysqli_connect_error());
}
// 创建数据库
$sql = "CREATE DATABASE IF NOT EXISTS wordpress";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
9、优化PHP、添加扩展模块
1)安装openssl扩展
cd 解压目录/php-7.0.7/ext/openssl
例:cd /root/mt/lamp/php-7.0.7/ext/openssl
执行:mv config0.m4 config.m4
将信息输出:/usr/local/php/bin/phpize
执行:./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
编译并安装:make && make install
2)安装zlib扩展
cd php-7.0.7/ext/zlib/
mv config0.m4 config.m4
/usr/local/php/bin/phpize
./configure --with-zlib --with-php-config=/usr/local/php/bin/php-config
编译并安装:make && make install
3)安装memcache
解压unzip pecl-memcache-php7.zip到指定目录
cd进入解压目录
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
编译并安装:make && make install
4)安装memcache服务(CentOS6和CentOS7有区别,根据系统选对应的C7或C6子目录)
安装libevent依赖:
yum -y install libevent-2.0.21-4.el7x86_64.rpm
yum -y install libevent-devel-2.0.21-4.el7x86_64.rpm
解压tar -zxf memcached-1.4.17.tar.gz到指定目录
cd进入解压目录,执行:./configure --prefix=/usr/local/memcache
编译并安装:make && make install
启动memcache
创建用户:useradd -s /sbin/nologin memcache
启动memcache:/usr/local/memcache/bin/memcached -umemcache &
查看端口:ss -antp | grep :11211
5)修改PHP配置文件,使其识别和调用openssl和memcache两个模块
cd到用户家目录下
vim /usr/local/php/etc/php.ini
修改:; extension_dir = "./"
extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
添加:extension="openssl.so";
extension="memcache.so";
extension="zlib.so";
6)重启apache服务
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
#刷新test-php.php界面,查看是否有openssl、memcache、zlib模块
四、搭建网站
1、将php项目拷贝到网站目录下(/usr/local/apache2/htdocs/**)
1)解压tar -zxf wordpress-4.7.4-zh_CN.tar.gz到指定目录
2)cd进入压缩包指定解压目录
执行:cp -a wordpress /usr/local/apache2/htdocs/
3)创建apache用户:useradd -s /sbin/nologin apache
4)修改所有者所属组:chown -R apache:apache /usr/local/apache2/htdocs
5)修改配置文件:vim /usr/local/apache2/conf/httpd.conf
修改用户、用户组为apache:
User daemon改为User apache
Group daemon改为Group apache
修改默认界面:DirectoryIndex index.html
改为:DirectoryIndex index.php
6)重新启动apache服务
7)测试:服务器IP/wordpress/index.php
生成的固定连接支持中文:插件——已安装插件——搜索Pinyin Permalink——安装拼音连接插件——启用
2、设置开机自启
CentOS 7:
vim /etc/rc.d/rc.local
/usr/local/apache2/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &
/usr/local/memcache/bin/memcached -umemcache &
/etc/rc.d/rc.local添加x权限:chmod +x /etc/rc.d/rc.local