目录
一、资源清单
系统 | 配置 | IP地址 |
OpenEuler 24.03 | 4C8G | 192.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
-
验证
