前言:
眼前朋友们对“centosapache运行php”大体比较看重,朋友们都想要学习一些“centosapache运行php”的相关资讯。那么小编在网络上汇集了一些有关“centosapache运行php””的相关资讯,希望兄弟们能喜欢,姐妹们快快来学习一下吧!本安装教程中,我们将在CentOS 8部署在运行Apache,PHP 7.4,MariaDB,Redis和Nextcloud。
首先安装 CentOS 8 最小安装。这应该为运行成功Nextcloud程序提供足够的平台。
首先安装一些在安装过程中需要的依赖项,但这些依赖项在日常使用情况下也很有用:
dnf install -y epel-release yum-utils unzip curl wget \bash-completion policycoreutils-python-utils mlocate bzip2
现在,请确保您的系统是最新的:
dnf update -yApache (阿帕奇)
dnf install -y httpd
在其中创建一个虚拟主机,并向其添加以下内容:
/vi /etc/httpd/conf.d/nextcloud.conf
<VirtualHost *:80> DocumentRoot /var/www/html/nextcloud/ ServerName your.server.com <Directory /var/www/html/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews <IfModule mod_dav.c> Dav off </IfModule> </Directory></VirtualHost>
有关更多详细信息,请参阅 Apache Web 服务器配置。
确保 apache Web 服务已启用并启动:
systemctl enable httpd.servicesystemctl start httpd.servicePHP
注意
CentOS 8 没有附带 redis 和 imagick php 扩展的软件包。这些都可以使用 pecl 进行安装。除了官方的 PHP 软件包之外,还有第三方存储库,请访问 。使用 remirepo,您还可以安装最新的 PHP 版本,而不是标准附带的版本。
使用 PHP 7.4 设置 remirepo
更多详细信息,请访问
用于安装 Remi 存储库配置包的命令:
dnf install
用于安装 yum-utils 包的命令(用于 yum-config-manager 命令):
dnf install yum-utils
您需要一个单一的版本,这意味着从发行版中替换基本包。包与基本存储库具有相同的名称,即php-*。一些常见的依赖项在 remi-safe 存储库中可用,默认情况下处于启用状态。
您必须为 7.4 启用模块流:
dnf module reset phpdnf module install php:remi-7.4dnf update安装 PHP 和所需的模块
接下来安装此安装所需的 PHP 模块。请记住,由于这是一个有限的基本安装,我们只安装必要的模块,而不是所有模块。如果要进行更完整的安装,请参阅源安装文档中的 PHP 模块列表,在 Linux 上安装。
dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu\ php-mysqlnd php-opcache php-json php-zip
安装可选模块 redis/imagickdnf install -y php-redis php-imagick
数据库
如前所述,我们将使用MySQL / MariaDB作为我们的数据库:
dnf install -y mariadb mariadb-server
确保数据库服务已启用为在引导时启动。
systemctl enable mariadb.servicesystemctl start mariadb.service
提高 MariaDB 的安全性:
mysql_secure_installation
完成此操作后,请确保使用用户名和密码创建一个数据库,以便Nextcloud可以访问它。有关数据库设置和配置的更多详细信息,请参阅数据库配置文档。
Redis
dnf install -y redissystemctl enable redis.servicesystemctl start redis.service
安装 Nextcloud
现在下载最新Nextcloud版本的存档:
转到“下一页云下载”页面。转到“下载下一个云服务器”>“下载>存档”文件,然后下载 tar.bz2 或 .zip 存档。这将下载一个名为 nextcloud-x.y.z.tar.bz2 或 nextcloud-x.y.z.zip(其中 x.y.z 是版本号)的文件。下载其相应的校验和文件,例如nextcloud-x.y.z.tar.bz2.md5或nextcloud-x.y.z.tar.bz2.sha256。验证 MD5 或 SHA256 的总和:md5sum -c nextcloud-x.y.z.tar.bz2.md5 < nextcloud-x.y.z.tar.bz2 sha256sum -c nextcloud-x.y.z.tar.bz2.sha256 < nextcloud-x.y.z.tar.bz2 md5sum -c nextcloud-x.y.z.zip.md5 < nextcloud-x.y.z.zip sha256sum -c nextcloud-x.y.z.zip.sha256 < nextcloud-x.y.z.zip您还可以验证 PGP 签名:wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc wget https://nextcloud.com/nextcloud.asc gpg --import nextcloud.asc gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2
为了进行演练,我们以zip文件的形式抓取了最新版本的Nextcloud,用上面的命令确认了下载,现在我们将提取它:
unzip nextcloud-*.zip
将内容复制到 Web 服务器的根目录。在我们的例子中,我们使用的是apache,所以它将是:/var/www/html/
cp -R nextcloud/ /var/www/html/
在安装过程中,不会创建任何数据文件夹,因此我们将手动创建一个文件夹来帮助安装向导:
mkdir /var/www/html/nextcloud/data
确保 apache 对整个 nextcloud 文件夹具有读写访问权限:
chown -R apache:apache /var/www/html/nextcloud
重新启动 apache:
systemctl restart httpd.service
创建用于访问 apache 的防火墙规则:
firewall-cmd --zone=public --add-service=http --permanentfirewall-cmd --reload
SELinux
同样,在 SELinux 配置中可以找到有关 SELinux 的大量编写,因此,如果您在强制模式下使用 SELinux,请运行该页面上建议的命令。以下命令仅引用本教程:
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess'semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'restorecon -R '/var/www/html/nextcloud/'setsebool -P httpd_can_network_connect on
如果您需要更多 SELinux 配置,请参阅上述 URL,返回本教程。
完成SELinux后,请转到并按照安装向导中的步骤进行操作,在那里它将向您解释如何继续进行安装的最后一部分,这是通过您的Web浏览器以管理员用户的身份完成的。
注意
如果您使用本教程,并且在安装后在 Web 浏览器中看到有关未正确启用或配置的警告,则需要进行建议的更改,以使错误消失。这些警告将位于“管理”页上的“基本设置”下。OPcache/etc/opt/rh/rh-php74/php.d/10-opcache.ini
由于我们用作 memcache,因此您将需要一个类似于以下示例的配置,在运行前面提到的联机安装向导时会自动生成该配置。Redis/var/www/html/nextcloud/config/config.php
配置示例:
'memcache.distributed' => '\OC\Memcache\Redis','memcache.locking' => '\OC\Memcache\Redis','memcache.local' => '\OC\Memcache\APCu','redis' => array( 'host' => 'localhost', 'port' => 6379,),