LAMP环境搭建与配置
LAMP架构
linux+Apache(httpd)+mysql+PHPPHP网站(google、淘宝、百度)三个角色可以在一台机器、也可以分开(httpd和php要在一起)
安装MySQL
MySQL的几个常用安装包:rmp、源码、二进制免编译
cd
/usr
/local
/src
(软件包放在一起容易管理
)
下载源码包最好在官网下载;其他网站下载可能被修改过。
[root@host src
]#wget http
://mirros
.sohu
.com
/mysql
/MySQL
-5.6/mysql
-5.6.39-linux
-glibc2
.12-x86_64
.tar
.gz
[root@host src
]# pwd
/usr
/local
/src
[root@host src
]#ls
mysql
-5.6.39-linux
-glibc2
.12-x86_64
.tar
.gz
[root@host src
]#tar
-zxvf mysql
-5.6.39-linux
-glibc2
.12-x86_64
.tar
.gz
[root@host src
]#mv mysql
-5.6.39-linux
-glibc2
.12-x86_64
/usr
/local
/mysql(移动位置
)
[root@host src
]#cd
/usr
/local
/mysql
/
[root@host mysql
]#useradd
-s
/sbin
/nologin
mysql(创建mysql用户
)
[root@host mysql
]#mkdir
-p
/data
/mysql(创建datadir,数据库文件放这里面
)
[root@host mysql
]#
./scripts
/mysql_install_db
--user
=mysql
--datadir
=/data
/mysql
- 修改配置文件
# These are commonly set, remove the # and set as required.
basedir
= /usr
/local
/mysql
datadir
= /data
/mysql
port
= 3306
server_id
= 155
socket
= /tmp
/mysql
.sock
[root@host mysql
]#cp support
-files
/mysql
-defaultcnf
/etc
/my
.cnf
[root@host mysql
]#cp support
-files
/mysql
.server
/etc
/init
.d
/mysql(复制脚本文件
)
[root@host mysql
]#vi
/etc
/init
.d
/mysql(修改启动脚本
)
basedir
=/usr
/local
/mysql
datadir
=/data
/mysql
[root@host mysql
]#chkconfig
--add
mysql(把mysql服务添加到列表中
)
[root@host mysql
]#chkconfig mysql
on(开机就启动
)
Starting MySQL
.Logging to
'/data/mysql/localhost.localdomain.err'.
. SUCCESS
!
如若出现这种情况就要安装yum -y install autoconf
安装Apache
Apache是一个基金会的名字,httpd才是我们主要安装的软件包,早期他的名字叫ApacheApache官网www.apache.org
[root@host src
]#ls
apr
-1.6.5.tar
.gz mysql
-5.6.39-linux
-glibc2
.12-x86_64
.tar
.gz
apr
-util
-1.6.1.tar
.gz php
-5.6.30.tar
.gz
httpd
-2.4.46.tar
.gz php
-7.1.6.tar
.bz2
[root@host src
]#tar
-zxvf apr
-1.6.5.tar
.gz
[root@host src
]#tar
-zxvf apr
-util
-1.6.1.tar
.gz
[root@host src
]#tar
-zxvf httpd
-2.4.46.tar
.gz
[root@host src
]#cd
/usr
/local
/src
/apr
-1.6.5
[root@host apr
-1.6.5]#
./configure
--prefix
=/usr
/local
/apr
[root@host apr
-1.6.5]#make
&& make install
[root@host mysql
]#cd
/usr
/local
/src
/apr
-util
-1.6.1
[root@host apr
-util
-1.6.1]#
./configure
--prefix
=/usr
/local
/apr
-util
--with
-apr
=/usr
/local
/apr
/
[root@host apr
-util
-1.6.1]#make
&& make install
[root@host mysql
]#cd
/usr
/local
/src
/httpd
-2.4.46
[root@host httpd
-2.4.46]#
./configure
--prefix
=usr
/local
/apache2
.4
--enable
-so
--with
-pcre
--with
-included
-apr
--enable
-modules
=most
--enable
-mpms
-shared
=all
--with
-mpm
=prefork
[root@host src
]#yum install
-y pcre pcre
-devel
(为避免make时出错提前安装数据库文件
)
[root@host src
]#make
&& make install
[root@host apache2
.4]#ls
/usr
/local
/apache2
.4/modules
[root@host apache2
.4]#
/usr
/local
/apache2
.4/bin
/apachectl
-M(查看配置文件有哪些文件
)
安装PHP
PHP的官网:www.php.net
[root@host src
]#pwd
/usr
/local
/src
[root@host src
]ls
apr
-1.6.5 httpd
-2.4.46.tar
.gz
apr
-1.6.5.tar
.gz mysql
-5.6.39-linux
-glibc2
.12-x86_64
.tar
.gz
apr
-util
-1.6.1 php
-5.6.30.tar
.gz
apr
-util
-1.6.1.tar
.gz php
-7.1.6.tar
.bz2
httpd
-2.4.46(下载源码包php
-5.6.30)
[root@host src
]#tar
-zxvf php
-5.6.30.tar
.gz
[root@host src
]#yum install
-y bzip2
[root@host src
]#tar
-jxvf php
-7.1.6.tar
.bz2
[root@host src
]#yum install
-ylibxml2
-devel
/openssl openssl
-devel
/bzip2 bzip2
-devel
/libpng libpng
-devel
/freetype freetype
-devel
/epel
-release
/libmcrypt
-devel
[root@host src
]#cd php
-7.1.6
[root@host php
-7.1.6]#
./configure
--prefix
=/usr
/local
/php
--with
-apxs2
=/usr
/local
/apache2
.4/bin
/apxs
--with
-config
-file
-path
=/usr
/local
/php
/etc
--with
-mysql
=/usr
/local
/mysql
--with
-pdo
-mysql
=/usr
/local
/mysql
--with
-mysqli
=/usr
/local
/mysql
/bin
/mysql_config
--with
-libxml
-dir
--with
-gd
--with
-png
-dir
--with
-freetype
-dir
--with
-iconv
-dir
--with
-zlib
-dir
--with
-bz2
--with
-openssl
--with
-mcrypt
--enable
-soap
--enable
-gd
-native
-ttf
--enable
-mbstring
--enable
-sockets
--enable
-exif
[root@host php
-7.1.6]#make
&& make install
[root@host php
-7.1.6]#cd
/usr
/local
/src
/php
-5.6.30
[root@host php
-5.6.30]#
/usr
/local
/apache2
.4/bin
/httpd
-M
[root@host php
-5.6.30]#cp php
.ini
-production
/usr
/local
/php
/etc
/php
.ini
[root@host php
-5.6.30]#vi
/usr
/local
/apache2
.4/conf
/httpd
.conf
<Directory
/>
AllowOverride none
Require all denied
</Directory
>
改成:
<Directory
/>
AllowOverride none
Require all granted
</Directory
>
<IfModule dir_module
>
DirectoryIndex index
.html
</IfModule
>
改成:
<IfModule dir_module
>
DirectoryIndex index
.html index
.php
</IfModule
>
LoadModule php5_module modules/libphp5.so注释掉,并改成 LoadModule php7_module modules/libphp7.so
测试配置文件是否正确
[root@host
~]#
/usr
/local
/apache2
.4/bin
/apachectl
-t
Syntax OK
[root@host
~]#
/usr
/local
/apache2
.4/bin
/apachectl start
[root@host
~]#cd
/usr
/local
/apache2
.4/conf
[root@host conf
]#netstat
-lnp
|grep httpd
tcp6
0 0 :::80 :::*
[root@host conf
]#curl localhost
<html
><body
><h1
>It works
!<h1
><body
><html
>
[root@host conf
]#vi
/usr
/local
/apache2
.4/htdocs
/test
.php
<?php
echo “php解析正确”
?>
[root@host conf
]#curl localhost
/1.php
php解析正确