目录
什么是LAMP
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。
安装Apache httpd服务
安装Apache所需依赖包
[root@lamp ~]# yum -y install gcc gcc-c++ make expat-devel perl apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre
下载httpd安装包
[root@lamp ~]# wget https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.gz
解压并配置httpd安装包
[root@lamp ~]# tar zxvf httpd-2.4.57.tar.gz -C /usr/src/
[root@lamp ~]# cd /usr/src/httpd-2.4.57/
[root@lamp httpd-2.4.57]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@lamp httpd-2.4.57]# make -j8 && make install
[root@lamp httpd-2.4.57]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
编写httpd系统启动脚本
[root@lamp ~]# vim /lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
修改httpd配置文件
[root@lamp ~]# vim /usr/local/httpd/conf/httpd.conf
Listen 192.168.0.254:80 ##本机IP地址
ServerName www.lzz.com:80 ##域名
检测配置文件是否有失误
[root@lamp ~]# httpd -t
启动httpd
[root@lamp ~]# systemctl enable --now httpd
[root@lamp ~]# systemctl status firewalld
[root@lamp ~]# firewall-cmd --add-port=80/tcp --permanent
[root@lamp ~]# firewall-cmd --add-port=443/tcp --permanent
[root@lamp ~]# firewall-cmd --reload
安装MySQL详情请看这里 MySQL5.7.40安装文档
安装PHP解析环境
下载PHP所需依赖包
[root@lamp ~]# yum install -y sqlite-devel.x86_64 bzip2-devel.x86_64 libicu-devel oniguruma oniguruma-devel libxslt-devel freetype freetype-devel libjpeg libjpeg-devel libpng libpng-devel libcurl-devel.x86_64 libcurl libxml2-devel gd libxml2 zlib zlib-devel curl curl-devel openssl openssl-devel
升级libzib
[root@localhost ~]# wget https://libzip.org/download/libzip-1.3.2.tar.gz
[root@localhost ~]# tar zxvf libzip-1.3.2.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/libzip-1.3.2/
[root@localhost libzip-1.3.2]# ./configure && make -j8 && make install
[root@localhost libzip-1.3.2]# export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
下载PHP安装包
[root@lamp ~]# wget https://www.php.net/distributions/php-8.2.2.tar.gz
解压并配置PHP
下载并解压PHP
[root@localhost ~]# wget https://www.php.net/distributions/php-8.2.3.tar.gz
[root@localhost ~]# tar zxvf php-8.2.3.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/php-8.2.3
[root@lamp php-8.2.3]# ./configure --prefix=/usr/local/php8 --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-config-file-path=/usr/local/php8 --with-mysqli --with-zlib --with-curl --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer
[root@localhost php-8.2.3]# make -j8 && make install
复制模版文件作为PHP 的主配置文件,并进行修改
[root@lamp php-8.2.3]# cp php.ini-production /usr/local/php8/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
优化PHP
[root@lamp ~]# ln -sv /usr/local/php8/bin/* /usr/local/bin/
[root@lamp ~]# php -m————————————查看PHP 加载了哪些模块
修改httpd 服务的配置文件,让apache支持PHP
[root@lamp ~]# vim /usr/local/httpd/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
检查这个模块是否存在
LoadModule php_module modules/libphp.so
重启httpd
[root@lamp ~]# systemctl daemon-reload
[root@lamp ~]# systemctl restart httpd
验证PHP 测试页
[root@lamp ~]# vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
浏览器访问http://192.168.0.254
部署phpMyAdmin
先在数据库中创建一个用户并授权
[root@lamp ~]# mysql -uroot -p
mysql> create database admin;
mysql> grant all on admin.* to 'admin'@'%' identified by '123456';
mysql> flush privileges;
下载phpmyadmin并解压和配置
[root@lamp ~]# wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
[root@lamp ~]# tar zxvf phpMyAdmin-5.2.1-all-languages.tar.gz -C /usr/local/httpd/htdocs/phpMyAdmin
[root@lamp ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@lamp phpMyAdmin]# ls
phpMyAdmin-5.2.1-all-languages
[root@lamp phpMyAdmin]# mv phpMyAdmin-5.2.1-all-languages/* .
[root@lamp phpMyAdmin]# cp config.sample.inc.php config.inc.php
[root@lamp phpMyAdmin]# vim config.inc.php
$cfg['Servers'][$i]['host'] = '127.0.0.1';
重启httpd
[root@lamp ~]# systemctl restart httpd
浏览器访问 http://192.168.0.254 本机IP
用户名:admin
密码:123456
Discuz论坛安装
创建数据库,并进行授权
[root@lamp ~]# mysql -uroot -p
mysql> CREATE DATABASE bbs;
mysql> CREATE USER 'zhangsan'@'%' IDENTIFIED BY '123123';
mysql> GRANT ALL ON bbs.* TO 'zhangsan'@'%';
mysql> flush privileges;
下载并解压
[root@lamp ~]# yum -y install unzip
[root@lamp ~]# unzip DiscuzX-v3.5.zip -d /usr/src/
[root@lamp ~]# cd /usr/src/DiscuzX-v3.5/
上传站点更新包
[root@lamp DiscuzX-v3.5]# cp -r upload/ /usr/local/httpd/htdocs/bbs
更改论坛目录的属主
[root@lamp ~]# cd /usr/local/httpd/htdocs/bbs
[root@lamp bbs]# chown -R daemon ./config
[root@lamp bbs]# chown -R daemon ./data
[root@lamp bbs]# chown -R daemon ./uc_client
[root@lamp bbs]# chown -R daemon ./uc_server/data
浏览器访问
论坛页面访问
http://192.168.0.254/bbs
数据库服务器:127.0.0.1
数据库名字:bbs
数据库用户名:zhangsan
数据库密码:123123
管理员账号:admin
管理员密码:123123
论坛后台管理员页面
构建基于域名虚拟主机
[root@lamp ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin 17801797215@163.com
DocumentRoot "/usr/local/httpd/htdocs/aaa"
ServerName www.aaa.com
ServerAlias www.a.com,www.aa.com ##别名使用这些名字也可以访问到此网站
ErrorLog "logs/aaa-error_log"
CustomLog "logs/aaa-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 17801797215@163.com
DocumentRoot "/usr/local/httpd/htdocs/bbb"
ServerName www.bbb.com
ServerAlias www.b.com,www.bb.com
ErrorLog "logs/bbb-error_log"
CustomLog "logs/bbb-access_log" common
</VirtualHost>
[root@lamp ~]# mkdir -p /usr/local/httpd/htdocs/{aaa,bbb}
[root@lamp ~]# cd /usr/local/httpd/htdocs/
[root@lamp htdocs]# vim aaa/index.php
[root@lamp htdocs]# vim bbb/index.php
加载独立的配置文件
[root@lamp ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf
重启httpd
[root@lamp htdocs]# systemctl restart httpd
域名解析
[root@lamp ~]# vim /etc/hosts
192.168.0.254 www.aaa.com www.aa.com www.a.com www.bbb.com www.bb.com www.b.com
访问测试
[root@lamp ~]# curl www.aaa.com
www.aaa.com
[root@lamp ~]# curl www.bbb.com
www.bbb.com
访问别名测试
[root@lamp ~]# curl www.a.com
www.aaa.com