笔记11111111111

本文详细介绍了在Linux系统中手动安装和配置LAMP(Linux、Apache、MySQL和PHP)环境的步骤,包括下载软件包、编译安装、配置服务和检查运行状态。主要涉及Apache的虚拟主机设置、用户认证和域名跳转,以及PHP的安装和与Apache的整合。此外,还提供了检查每个服务是否正常运行的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Mysql-5.6.40

软件包存放目录:/usr/local/src/

1.1 安装mysql

cd /usr/local/src/
# 1.切换到软件包目录

wget http://...mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
# 2.获取php5.6.40源码包

tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
# 3.解压

mkdir /usr/local/mysql
# 4.查看是否有 /usr/local/mysql这个文件夹,如果有那就重命名(mv) mysqlold。
# 然后创建(mkdir)/usr/local/mysql这个文件夹

cd mysql-5.6.43-linux-glibc2.12-x86_64
mv * /usr/local/mysql
# 5.将解压出来的文件移到/usr/local/mysql文件夹内

mkdir -p /data/mysql
# 6.创建数据库存放位置的文件夹

useradd -s /sbin/nologin mysql
# 7.创建mysql用户

chown -R mysql:mysql /data/mysql
# 8.更改文件夹权限

yum -y install perl-Module-Install
# 9.安装依赖包

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
# 10.安装mysql,如果成功/data/mysql目录下将会有文件和目录

1.2 配置mysql

cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
# 1.将mysql源码包内的默认配置文件放入并命名 /etc/my.cnf

vim /etc/my.cnf

basedir = /usr/local/mysql # 源码存放目录
datadir = /data/mysql  # 上文数据库存放目录
port = 3306  # 端口
server_id = 128  # 服务id
socket = /tmp/mysql.sock
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
# 2.进入并修改/etc/my.cnf文件

# 开始设置自启动
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vim /etc/init.d/mysqld
修改:
datadir=/data/mysql
# 3.复制文件,修改权限,修改配置

chkconfig --add mysqld
chkconfig mysqld on
service mysqld on
# 4.设置开机自启和启动服务

2. Apache-2.4.54

软件包存放目录:/usr/local/src/

2.1 安装apache

cd /usr/local/src
wget http://...httpd-2.4.54.tar.gz
wget http://...apr-1.7.0.tar.gz
wget http://...apr-util-1.6.1.tar.gz
tar zxvf httpd-2.4.54.tar.gz
tar zxvf apr-1.7.0.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
# 1.获取并解压源码包

yum -y install expat-devel libxml2-devel pcre pcre-devel
# 2.安装依赖包

cd /usr/local/src/apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install
# 3.编译并安装apr

cd /usr/local/src/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
# 4.编译并安装apr-util

cd /usr/local/src/httpd-2.4.54
./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
make && make install
# 5.编译并安装apache,如果安装成功那么/usr/local/apache2.4目录下将会有文件和目录
如果需要重新编译,需要使用
make clean
清除之前的缓存

2.2 配置虚拟主机

vim /usr/local/apache2.4/conf/httpd.conf
# 修改
#Include conf/extra/httpd-vhosts.conf
->
Include conf/extra/httpd-vhosts.conf
# 1.让配置文件生效

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
# 修改
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com # 管理员邮箱 可忽略
    DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com" # 网站根目录
    ServerName dummy-host.example.com # 网站web站点名
    ServerAlias www.dummy-host.example.com # 站点别名 可忽略
    ErrorLog "logs/dummy-host.example.com-error_log" # 错误访问日志
    CustomLog "logs/dummy-host.example.com-access_log" common # 成功访问日志
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
->
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/test.com"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>
# 2.修改虚拟主机配置文件 test.com访问主机的/usr/local/apache2.4/test.com目录

mkdir /usr/local/apache2.4/test.com
echo "test.com" > /usr/local/apache2.4/test.com/index.html
# 3.创建/usr/local/apache2.4/test.com目录,并创建网站主页

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 4.检查配置文件,重新加载http服务

curl -x127.0.0.1:80 www.test.com
# 5.检查虚拟主机是否正常 正常输出是 test.com

2.3 用户认证

vim /usr/local/apache2.4/conf/httpd.conf
# 修改
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/test.com"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
->
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/test.com"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
    <Directory "/usr/local/apache2.4/test.com"> # 保护目录
        AllowOverride AuthConfig # 认证开关
        AuthName "test.com user auth" # 认证名字,可无
        AuthType Basic # 认证类型,一般为Basic
        AuthUserFile /data/.htpasswd # 密码文件目录
        require valid-user # 指定需要认证的用户
    </Directory>
</VirtualHost>
# 1.修改配置文件

/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd user1
# 2.创建认证用户 user1 -c创建 -m密码加密方式

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 3.检查配置文件,重新加载http服务

2.4 域名跳转

vim /usr/local/apache2.4/conf/httpd.conf
# 修改
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/test.com"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
    <Directory "/usr/local/apache2.4/test.com">
        AllowOverride AuthConfig
        AuthName "test.com user auth"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </Directory>
</VirtualHost>
->
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/test.com"
    ServerName test.com
    ServerAlias www.test.com
    <IfModule mod_rewrite.c> # 需要mod_rewrite模块
        RewriteEngine on # 打开rewrite功能
        RewriteCond %{HTTP_HOST} !^test.com$ # 当主机名不是test.com时触发下面条件
        RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]
    </IfModule>
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
# 1.修改配置文件

vim /usr/local/apache2.4/conf/httpd.conf
#修改
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
# 2.修改配置文件,让rewrite模块生效

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 3.检查配置文件,重新加载http服务

/usr/local/apache2.4/bin/apachectl -M | grep -i rewrite
# 4.查看模块是否生效,生效会提示 rewrite_module (shared)

curl -x127.0.0.1:80 -I 123.com
    HTTP/1.1 301 Moved Permanently
    Date: Tue, 06 Sep 2022 08:06:04 GMT
    Server: Apache/2.4.54 (Unix) PHP/5.6.40
    Location: http://test.com/
    Content-Type: text/html; charset=iso-8859-1
# 5.查看跳转是否正常,正常 状态码为301,location为test.com

3.PHP-5.6.40

软件包存放目录:/usr/local/src/

3.1 安装php

cd /usr/local/src
wget http://...php-5.6.40.tar.gz
tar zxvf php-5.6.40.tar.gz
# 1.获取并解压php源码包

yum -y install libxml2 openssl openssl-devel bzip2 bzip2-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel
# 获取下面的依赖包
rpm -ivh freetype-2.8-14.el7_9.1.x86_64.rpm
rpm -ivh freetype-devel-2.8-14.el7_9.1.x86_64.rpm
rpm -ivh libmcrypt-2.5.8-13.el7.x86_64.rpm
rpm -ivh libmcrypt-devel-2.5.8-13.el7.x86_64.rpm
# 2.安装依赖包

./configure -prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysq1=/usr/1ocal/mysql --with-libxml-dir --with-gd --with-jpeg-dir --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
make && make install
# 3. 编译并安装

3.2 配置php

cd /usr/local/src/php-5.6.40
cp php.ini-production /usr/local/php/etc/php.ini
# 复制配置文件

4.整合

4.1 配置httpd支持php

vim /usr/local/apache2.4/conf/httpd.conf
#修改
#ServerName www.example.com:80
->
ServerName www.example.com:80

#修改
<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>
    DirectoryIndex index.html
</IfModule>
->
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
# 1.进入apache的配置文件并修改

/usr/local/apache2.4/bin/apachectl -t
# 2.检验apache配置文件是否正确,正确会显示Syntax OK

/usr/local/apache2.4/bin/apachectl start
# 3.开启apache

4.2 检测LAMP环境是否正确

curl localhost
# 1.检查apache是否正确

vim /usr/local/apache2.4/htdocs/test.php
	<?php echo"php OK";?>
curl localhost/test.php
# 2.检查php是否正确

cd /usr/local/mysql/bin/
./mysql
# 3.检查mysql是否正确
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值