深入了解LAMP:搭建步骤和详细解析

目录

一、资源清单

二、安装LAMP

1.安装Httpd服务器

2.源码编译安装MySQL 8.0

3.源码编译安装php


一、资源清单

系统配置IP地址
OpenEuler 24.034C8G192.168.16.142

二、安装LAMP

1.安装Httpd服务器

        1.准备工作

dnf install -y apr-util-devel pcre-devel gcc tar make

        2.源码编译及安装

  • 解包
    tar zxf httpd-2.4.48.tar.gz -C /usr/src/
    cd /usr/src/httpd-2.4.48/
  • 配置
    ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
  • 编译及安装
    make && make install

        3.确认安装结果

ls /usr/local/httpd

#/usr/lcoal/httpd/bin:存放httpd服务的各种可执行程序文件,包括主程序 httpd、服务控制工具apachectl等
#/usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等
#/usr/local/httpd/logs:存放httpd服务的日志文件
#/usr/local/httpd/modules:存放httpd服务的各种模块文件
#/usr/local/httpd/cgi-bin:存放各种CGI程序文件

        4.优化执行路径

ln -s /usr/local/httpd/bin/* /usr/local/bin/

        5.添加httpd系统服务

vi /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
ExecrReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

systemctl enable httpd

        6.Web站点部署

#配置httpd服务
  vi /usr/local/httpd/conf/httpd.conf 
 ServerName www.kgc.com(202行去#号)
 
  #语法检查
 /usr/local/http/bin/apachectl -t
 
 #启动服务
 systemctl start httpd
 #监听端口
 ss -nlpt | grep 80 
2.源码编译安装MySQL 8.0

        1.准备工作

dnf install -y gcc gcc-c++ make cmake autoconf libtool bison re2c openssl-devel libxml2-devel zlib-devel curl-devel libpng-devel libjpeg-turbo-devel freetype-devel libicu-devel oniguruma-devel sqlite-devel libxslt-devel libzip-devel pcre-devel apr-devel apr-util-devel ncurses-devel wget libtirpc-devel rpcgen

        2.源码编译及安装

  • 解包
    tar zxf mysql-8.0.36.tar.gz
  • 安装cmake
    tar zxf cmake-3.16.2.tar.gz 
    cd cmake-3.16.2
    ./configure 
    gmake && gmake install
  • 安装boost
    tar zxf boost_1_77_0.tar.gz 
    mv boost_1_77_0 mysql-8.0.36/boost
  • 配置
    cd mysql-8.0.36
    #创建独立的目录
    mkdir -p build && cd build
    
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_SSL=system -DENABLED_INFILE=ON -DWITH_BOOST=../boost -DWITH_DEBUG=1
    
    #-DCMAKE_INSRAAL_PREFIX:指定将mysql程序安装到哪个目录下
    #-DSYSCONFDIR:设置mysql配置文件存储位置
    #-DMYSQL_DATADIR:设置mysql数据库的数据文件存储位置
    
  • 编译及安装
    #$(nproc)用于获取系统上可用的处理器核心数量,并行编译,提高速度
    make -j$(nproc)
    make install

        3.初始化数据库

  • 添加程序用户mysql
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
  • 创建数据目录
    mkdir -p /usr/local/mysql/data
    chown mysql:mysql /usr/local/mysql/data
  • 执行初始化命令
    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 配置mysql配置脚本
    vim /etc/my.cnf
    
    [client]
    socket=/usr/local/mysql/data/mysql.sock
    [mysqld]
    socket=/usr/local/mysql/data/mysql.sock
    #绑定监听地址0.0.0.0
    bind-address = 0.0.0.0
    skip-name-resolve
    #设置3306端口
    port = 3306

        4.配置服务

  • 设置服务启动脚本
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
  • 启动服务
    /etc/init.d/mysqld start

        5.设置mysql管理员密码

/usr/local/mysql/bin/mysql -u root --skip-password

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourRootPass123!';
FLUSH PRIVILEGES;
EXIT;
3.源码编译安装php

        1.源码编译及安装

  • 解包
    tar zxf php-8.2.20.tar.gz 
    cd php-8.2.20
  • 配置
    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-openssl --with-zlib --with-curl --enable-mbstring --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-gd --with-freetype --with-libxml --enable-intl --with-zip --enable-opcache
    
    # --prefix:指定PHP程序安装到哪个目录下
    # --with-apxs2:设置Apache HTTP Server提供的apxs模块支持程序的文件位置
    # --with-mysqli:设置对mysql数据库的支持
    # --enable-mbstring:启用多字节字符串功能,以便支持中文等代码
  • 编译及安装
    make -j$(nproc)
    make install

        2.配置PHP(php.ini参数调整)

cp php.ini-development /usr/local/php/lib/php.ini

sed -i 's/;date.timezone = /date.timezone = Asia\/Shanghai/' /usr/local/php/lib/php.ini
sed -i 's/memory_limit = 128M/momory_limit = 256M/' /usr/local/php/lib/php.ini

        3.测试PHP网页能否正确显示

  • httpd.conf配置调整

    vi /usr/local/httpd/conf/httpd.conf
    
    Listen 80
    
    LoadModule php_module modules/libphp.so(检查161行)
    AddType application/x-httpd-php .php(添加到398行)
    DirectoryIndex inedx.html index.php(修改261行)
    
    systemctl restart httpd
  • 编辑测试php界面

    vi /usr/local/httpd/htdocs/test1.php
    
    <?php
    phpinfo()
    ?>
    
    http://192.168.16.142/test1.php
  • 验证

        4. 测试PHP网页能否访问MySQl数据库

  • 编辑测试php界面

    vi /usr/local/httpd/htdocs/test2.php
    
    <?php
    ini_set('mysqli.default_socket', '/usr/local/mysql/data/mysql.sock'); 
    $link=mysqli_connect('localhost','root','YourRootPass123!'); 
    //连接 MySQL 数据库
    If($link) echo "恭喜你,数据库连接成功啦!!";
    //连接成功时的反馈消息
    mysqli_close($link);
    //关闭数据库连接
    ?>
    
    
    http://192.168.16.142/test2.php
  • 验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值