操作前建议把手机上的termux清除数据或者卸载termux重新安装。

  1. 打开手机终端模拟器Termux,手动添加国内源
termux-change-repo
  1. 安装apache2和mysql数据库
pkg update && pkg upgrade -y && pkg install -y wget apache2 mariadb

期间出现停顿,一律输入 y 回车即可。

  1. 安装php7.4

①添加TUR PHP OPG密钥

mkdir -p $PREFIX/etc/apt/sources.list.d && cd $PREFIX/etc/apt/trusted.gpg.d && wget https://gitee.com/meihali/website/releases/download/script/tur.gpg && cd

②写入php7.4 tur

echo "deb [signed-by=$PREFIX/etc/apt/trusted.gpg.d/tur.gpg] https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous" >> $PREFIX/etc/apt/sources.list.d/tur.list

③安装php7.4

pkg update && pkg install -y php7 php7-apache

④验证版本:

php -v

或者直接执行下面的命令添加php7.4 tur源安装php7.4更简单方便:

pkg install tur-repo
  1. 如果想nginx和apache2共存,并使用php7.4搭建多个网站,执行下面的命令安装即可:
pkg install -y nginx php7-fpm

配置nginx和php-fpm通信:与之前的配置方法相同,虽换了php7.4但并没有发生变化,启动nginx与php-fpm也一样是:nginx && php-fpm

如何配置nginx与php-fpm通信可以参考第一篇到第四篇,详细讲解了LNMP环境下搭建网站的操作。

  1. 配置Apache以处理PHP7.4

由于8080端口已经被nginx占用,所以这里需要使用8081端口,以免发生冲突。

①先删除httpd.conf

rm $PREFIX/etc/apache2/httpd.conf

②重新创建httpd.conf

1)可以一键从第三方库下载httpd.conf

cd $PREFIX/etc/apache2 && wget https://gitee.com/meihali/website/releases/download/script/php7httpd.conf && mv php7httpd.conf httpd.conf && cd

2)手动创建httpd.conf(由于内容太多可能粘贴不完整)

nano $PREFIX/etc/apache2/httpd.conf

把下面的内容复制粘贴进去:

ServerRoot "/data/data/com.termux/files/usr"
ServerName localhost
Listen 8081

LoadModule php7_module /data/data/com.termux/files/usr/libexec/apache2/libphp7.so
LoadModule mpm_prefork_module /data/data/com.termux/files/usr/libexec/apache2/mod_mpm_prefork.so
LoadModule authn_file_module /data/data/com.termux/files/usr/libexec/apache2/mod_authn_file.so
LoadModule authn_core_module /data/data/com.termux/files/usr/libexec/apache2/mod_authn_core.so
LoadModule authz_host_module /data/data/com.termux/files/usr/libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module /data/data/com.termux/files/usr/libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module /data/data/com.termux/files/usr/libexec/apache2/mod_authz_user.so
LoadModule authz_core_module /data/data/com.termux/files/usr/libexec/apache2/mod_authz_core.so
LoadModule access_compat_module /data/data/com.termux/files/usr/libexec/apache2/mod_access_compat.so
LoadModule auth_basic_module /data/data/com.termux/files/usr/libexec/apache2/mod_auth_basic.so
LoadModule reqtimeout_module /data/data/com.termux/files/usr/libexec/apache2/mod_reqtimeout.so
LoadModule include_module /data/data/com.termux/files/usr/libexec/apache2/mod_include.so
LoadModule filter_module /data/data/com.termux/files/usr/libexec/apache2/mod_filter.so
LoadModule mime_module /data/data/com.termux/files/usr/libexec/apache2/mod_mime.so
LoadModule log_config_module /data/data/com.termux/files/usr/libexec/apache2/mod_log_config.so
LoadModule env_module /data/data/com.termux/files/usr/libexec/apache2/mod_env.so
LoadModule headers_module /data/data/com.termux/files/usr/libexec/apache2/mod_headers.so
LoadModule setenvif_module /data/data/com.termux/files/usr/libexec/apache2/mod_setenvif.so
LoadModule version_module /data/data/com.termux/files/usr/libexec/apache2/mod_version.so
LoadModule slotmem_shm_module /data/data/com.termux/files/usr/libexec/apache2/mod_slotmem_shm.so
LoadModule unixd_module /data/data/com.termux/files/usr/libexec/apache2/mod_unixd.so
LoadModule status_module /data/data/com.termux/files/usr/libexec/apache2/mod_status.so
LoadModule autoindex_module /data/data/com.termux/files/usr/libexec/apache2/mod_autoindex.so
LoadModule negotiation_module /data/data/com.termux/files/usr/libexec/apache2/mod_negotiation.so
LoadModule dir_module /data/data/com.termux/files/usr/libexec/apache2/mod_dir.so
LoadModule userdir_module /data/data/com.termux/files/usr/libexec/apache2/mod_userdir.so
LoadModule alias_module /data/data/com.termux/files/usr/libexec/apache2/mod_alias.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"
<Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
<Files ".ht*">
    Require all denied
</Files>

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/data/data/com.termux/files/usr/var/log/apache2/access_log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/data/data/com.termux/files/usr/lib/cgi-bin/"
</IfModule>

<Directory "/data/data/com.termux/files/usr/lib/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule headers_module>
    RequestHeader unset Proxy early
</IfModule>

<IfModule mime_module>
    TypesConfig /data/data/com.termux/files/usr/etc/apache2/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule proxy_html_module>
Include /data/data/com.termux/files/usr/etc/apache2/extra/proxy-html.conf
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

ServerAdmin you@example.com
ErrorLog "/data/data/com.termux/files/usr/var/log/apache2/error_log"
LogLevel warn
Include /data/data/com.termux/files/usr/etc/apache2/conf.d/*.conf

③Ctrl+O回车保存,Ctrl+X退出

这样配置完成后,能让apache2识别php7.4进行通信,从而能同时处理更多的Web请求。

  1. 为每一个网站配置虚拟主机

网站1使用8081端口和默认网站根目录
网站2使用8082端口和自定义网站根目录
网站3使用8083端口和自定义网站根目录
……以此类推!

下面以搭建苹果cms、wordpress博客和苹果cms三个网站共存为例

1)创建网站根目录

网站1使用默认的根路径即可,只需要创建网站2和网站3的根目录就好

①创建网站2根目录

mkdir -p /data/data/com.termux/files/usr/share/apache2/default-site/htdocs2

②创建网站3根目录

mkdir -p /data/data/com.termux/files/usr/share/apache2/default-site/htdocs3

……以此类推!增加多少个网站就创建多少个网站根目录。

2)编辑httpd.conf配置文件

①打开httpd.conf

nano $PREFIX/etc/apache2/httpd.conf

②在Listen 8081下添加网站2和网站3端口

Listen 8082
Listen 8083

以此类推,每新增一个网站就要增添相对应的端口,如下图:

在这里插入图片描述
③按回车键继续追加下面的内容(启用虚拟主机及授权各网站使用哪个网站根目录)

# 启用虚拟主机
Include /data/data/com.termux/files/usr/etc/apache2/extra/httpd-vhosts.conf

# 第一个网站使用默认htdocs路径:
<Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

# 第二个网使用htdocs2路径:
<Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs2">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

# 第三个网使用htdocs3路径:
<Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs3">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

以此类推,每新增一个网站就要增添该网站的根目录援权,如下图

在这里插入图片描述
④Ctrl+O回车保存,Ctrl+X退出

3)编辑虚拟主机配置文件:

①删除vhosts.conf

rm $PREFIX/etc/apache2/extra/httpd-vhosts.conf

②重新创建vhosts.conf

nano $PREFIX/etc/apache2/extra/httpd-vhosts.conf

复制粘贴下面三个网站的配置内容进去:

# 第一个网站(端口 8081)
<VirtualHost *:8081>
    DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"
    ServerName localhost
</VirtualHost>

# 第二个网站(端口 8082)
<VirtualHost *:8082>
    DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs2"
    ServerName localhost
</VirtualHost>

# 第三个网站(端口 8083)
<VirtualHost *:8083>
    DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs3"
    ServerName localhost
</VirtualHost>

以此类推,每新增一个网站就要增添该网站的虚拟主机配置,重启apache生效。

③Ctrl+O回车保存,Ctrl+X退出

  1. 在各网站根目录下上传各网站源码

①把苹果cms源码移到默认网站根目录htdocs里面

cd $PREFIX/share/apache2/default-site/htdocs && rm -rf * && wget https://gitee.com/meihali/website/releases/download/script/maccms.zip && unzip maccms.zip && rm maccms.zip && cd

②把wordpress源码移到htdocs2目录下

cd $PREFIX/share/apache2/default-site/htdocs2 && rm -rf * && wget https://gitee.com/meihali/website/releases/download/script/wordpressnow.zip && unzip wordpressnow.zip && rm wordpressnow.zip && cd

③还把苹果cms源码移到htdocs3目录下

cd $PREFIX/share/apache2/default-site/htdocs3 && rm -rf * && wget https://gitee.com/meihali/website/releases/download/script/maccms.zip && unzip maccms.zip && rm maccms.zip && cd
  1. 启动apache和mysql
apachectl start && mysqld &

①登录mysql:

mysql -u root

②添加mysql登录密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

可以把123456替换为复杂一些又容易记的密码

③退出mysql:

exit

④重新进入mysql,这时就不能再用mysql -u root命令登录,需要在后面加个-p

mysql -u root -p

回车后,会提示输入密码!输入密码后再按回车键即可成功登录。

⑤为每个网站创建相对应的数据库

1)创建一个专用于苹果cms的数据库:

CREATE DATABASE maccms;
CREATE USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON maccms.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
SHOW DATABASES;

2)创建一个专用于wordpress的数据库:

CREATE DATABASE wordpress;
CREATE USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
SHOW DATABASES;

3)还是创建一个专用于苹果cms2的数据库:

CREATE DATABASE maccms2;
CREATE USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON maccms2.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
SHOW DATABASES;

IDENTIFIED BY '123456';中的密码123456要与之前的主数据库添加密码时保持一致,之前主数据库添加什么密码这里也要修改成相对应的密码。

⑥查看新创建的数据库:

show databases;

⑦删除maccms数据库(不建议)

DROP DATABASE maccms;

⑧删除wordpress数据库(不建议)

DROP DATABASE wordpress;

⑨启动MySQL远程访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
EXIT;

注意IDENTIFIED BY '123456'中的密码是否与之前的主数据库添加密码时保持一致

  1. 浏览器访问:

网站1

http://127.0.0.1:8081/

网站2

http://127.0.0.1:8082/

网站3

http://127.0.0.1:8083/

然后根据向导去安装即可!配置数据库时,需要把数据数据库主机localhost改成192.168开头的内网IP,执行ifconfig命令获取

  1. 苹果cms安装向导,如下图操作:
    1)在这里插入图片描述
    2)在这里插入图片描述
    3)在这里插入图片描述
    4)在这里插入图片描述
    5)在这里插入图片描述
    6)在这里插入图片描述
    7)在这里插入图片描述
    8)在这里插入图片描述
    9)在这里插入图片描述

苹果cms源码官网下载地址:

https://www.maccms.cn/down.html

wordpress源码官网下载地址:

https://cn.wordpress.org/download/releases/

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐