LAMP环境搭建与配置
- L 代表服务器操作系统使用Linux
- A 代表网站服务使用的是Apache软件基金会中的httpd的模块
- M 代表网站后台使用的数据库时MySQL数据库
- P 代表网站是使用PHP语言开发
- 安装MySQL 下载MySQL安装包,
mysql-5.6.43-linux-glibc2.12-x86_64.tar
(1)解压
tar –zxvf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz –C /usr/local/src
所有压缩包都放在/usr/local/src目录下,方便统一管理
(2)将解压完的数据移动到/usr/local/mysql,存放MySQL的一些脚本配置文件。
mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql
(3)创建MySQL数据库的用户
useradd -s /sbin/nologin mysql
(4)定义数据库安装位置,数据存放位置存放数据的目录赋予他用户组和用户的权限
mkdir -p /data/mysql ;chown -R mysql:mysql /data/mysql
(5)看一下我的目录的所属属性是什么:
ls -la /data/mysql
可以看到他所属的用户和用户组都是mysql
(6)安装perl包
yum install -y perl-Module-Install*
(7)查看perl :
yum list | grep perl | grep -i dumper
(8)软件包和系统版本问题,缺少以上脚本依赖,所以需安装numactl模块
yum install –y numactl
(9)进入包对应目录
cd/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64
(10)运行脚本,出现两个OK表示运行成功
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
(11)拷贝文件:
cp support-files/my-default.cnf /etc/my.cnf
(12)修改配置文件:
vim/etc/my.cnf
Basedir=/usr/local/scr/mysql-5.6.47-linux-glibc2.12-x86_64 //basedir //表示MySQL包所在路径
Datadir=/data/mysql/ //表示定义存放数据的位置
Port=3306 //port表示定义 MySQL服务监听的端口号
Server_id=128 //表示该 MySQL服务的ID号,一般写成IP地址的第四节即可
(13)复制启动脚本文件并改名为mysqld:
cp support-files/mysql.server /etc/init.d/mysql
(14)修改文件内容
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
(15)把mysql服务加到系统服务列表中:
chkconfig --add mysqld
(16)开机自启 :
chkconfig mysqld on
(17)启动服务:
service mysql start
显示SUCCESS就成功了
遇到的问题:
无法安装perl配件:
解决方法:在配置YUM源时,把/etc/yum.repo.d/目录下的文件都删除了,后来在另一台虚拟机上将这些文件传过来就可以了。
任务二:安装apache
1.2安装Apache
- 下载 httpd-2.4.43.tar、apr-1.6.5.tar和apr-util-1.6.1.tar压缩包
wgethttp://mirrors.cnnic.cn/apache/httpd/httpd-2.4.43.tar.gz
Wgethttp://mirrors.hust.edu.cn/apache/apr/apr-1.6.5.tar.gz
Wgethttp://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
安装包还是都放在/usr/local/src/目录下,方便统一管理。
- 安装配置;
安装这些包是有顺序的,首先我们先来安装apr,
(3)进入apr目录
先安装一个插件,防止编译出现错误
yum install -y libtool*
(4)编译文件
./configure --prefix=/usr/local/apr
(5)安装make
make &&make install
(6)安装apr-util
进入arp-util目录,编辑文件
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
(7)安装make,会出现一个错误,缺少expat文件
make &&make install
报了一个错误
需要安装一个expat-devel文件
yum install -y expat-devel
再运行一遍make &&make install,就没有错误了
(8)安装apache
在安装之前先要安装正则表达式包
yum install -y pcre pcre-devel
进入httpd-2.4.43目录,编译解析configure文件:
#./configure \ //回车,反斜杠是脱义字符,加上它一行命令写成多行
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-mods-shared=most
//--enable-so表示启用 DSO
(9)将apr和apr-util拷贝到srclib这个目录下来
#cp -r apr-1.6.5 httpd-2.4.43/srclib/apr
#cp -r apr-util-1.6.1 httpd-2.4.43/srclib/apr-util
(10)安装make
make -j4 && make install //-j4表示安装时候多加4个线程,提速
(11)安装成功查看配置文件
/usr/local/apache2.4/bin/apachectl –M
//shared字样的动态共享模块,static以静态形式存在
遇到的问题:
安装htppt编译./configure时出错,无论是复制命令还是手打命令都报错。
解决方法:重启了一遍虚拟机就好了。
1.3安装PHP
- 下载PHP安装包
将压缩包还是放在/usr/local/src目录下,统一管理
解压:tar -jxvf php-5.6.39.tar.gz -C /usr/local/src/
- 进入php-5.6.24目录
(3)先安装和配置,防止后面编译出错
# yum install -y libxml2-devel
# yum install -y openssl openssl-devel
# yum install -y bzip2 bzip2-devel
# yum install -y libpng libpng-devel
# yum install -y freetype freetype-devel
# yum install -y epel-release
# yum install -y libmcrypt-devel
//为防止配置时出错提前安装库文件
- 编译./configure文件
--with-apxs2=/usr/local/apache2.4/bin/apxs
--with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64
--with-png-dir --with-freetype-dir --with-openssl
--with-mcrypt --with-libxml-dir
--with-gd --with-jpeg-dir --with-bz2
--with-iconv-dir --with-zlib-dir
--enable-soap
--enable-gd-native-ttf
--enable-mbstring
--enable-sockets
--enable-exif
- 安装make:
make && make install
- echo $? 查看有没有错误
- 使用命令查看安装是否成功
后面多了一个php5的模块,就说明安装成功了
- 在配置文件里查看php:
cat /usr/local/apache2.4/conf/httpd.conf
可以看到已经写入配置文件中
- 配置文件拷贝出来
cp php.ini-production /usr/local/php/etc/php.ini
1.4 Httpd解析php
(1)vim/usr/local/apache2.4/conf/httpd.conf 修改主配置文件
搜索 ServerName,把 ServerName www.example.com:80前的#去掉;
搜索Require,将denied改为granted;
<Directory />
AllowOverride none
Require all denied
</Directory>
改成:
<Directory />
AllowOverride none
Require all granted
</Directory> //目的允许所有请求访问
搜索 AddType application/x-gzip.gz.tgz,在下面添加一行
AddType application/x-httpd-php .php
搜索IfModule dir_module
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改成:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
(2)测试安装:/usr/local/apache2.4/bin/apachectl -t
显示OK,说明安装成功
- 重启服务:
/usr/local/apache2.4/bin/apachectl start (graceful:重启)
启动apache服务。若重启不成功,先kill -9杀死httpd相关进程
netstat -ntplu |grep httpd
(4)查看是否启动:
curl localhost
显示:<html><body><h1>It works!</h1></body></html>:就是重启成功了
(5)也可以本地浏览器测试,修改本地hosts文件,将虚拟机IP地址输入进去,
(7)测试是否正确解析PHP
#vim /usr/local/apache2.4/htdocs/2.php
<?php
echo“php解析正确”
?> //编写一个测试脚本
然后运行:curl localhost/2.php
这样就解析成功了