如何在Debian 9上安装Roadiz CMS

介绍

Roadiz是一种现代CMS,旨在处理多种类型的服务。基于Symfony组件和Doctrine ORM,它允许您从头开始创建数据架构并根据需要组织内容。在本指南中,我们将在新的Debian 9 Vultr实例上安装Roadiz。

要求

  • Nginx或Apache。在本指南中,我们将使用Nginx。
  • MySQL / MariaDB,PostgreSQL或SQLite数据库。在本指南中,我们将使用MariaDB。
  • 作曲家
  • 吉特
  • PHP 7.1或更高版本,具有以下扩展名:
    • php-gd
    • php-intl
    • php-xml
    • php-curl
    • php-json
    • php-mbstring
    • php-opcache
    • php-apcu

在你开始之前

检查Debian版本。

lsb_release -ds
# Debian GNU/Linux 9.8 (stretch)

确保您的系统是最新的。

apt update && apt upgrade -y

安装git,unzip,curl和sudo软件包。

apt install -y git unzip curl sudo

创建一个non-root具有sudo访问权限的新用户帐户并切换到该帐户。

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

注意: 用您的用户名替换johndoe

设置时区。

sudo dpkg-reconfigure tzdata

安装PHP

将PHP 7.2存储库添加到您的系统。

sudo apt install -y apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

安装PHP以及必要的PHP扩展。

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-curl php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-opcache php-apcu

检查版本。

php --version

# PHP 7.2.17-1+0~20190412071344.20+stretch~1.gbp23a36d (cli) (built: Apr 12 2019 07:13:45) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.17-1+0~20190412071344.20+stretch~1.gbp23a36d, Copyright (c) 1999-2018, by Zend Technologies

/etc/php/7.2/fpm/php.ini和中进行以下更改/etc/php/7.2/cli/php.ini

memory_limit = 64M
post_max_size = 16M
upload_max_filesize = 16M
date.timezone

在这两个文件中进行更改后,重新启动PHP-FPM。

sudo systemctl restart php7.2-fpm.service

安装MariaDB并创建一个数据库

安装MariaDB。

sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.klaus-uwe.me/mariadb/repo/10.3/debian stretch main'
sudo apt-get update
sudo apt-get install mariadb-server

检查版本。

mysql --version && sudo mysqld --version

# mysql  Ver 15.1 Distrib 10.3.14-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld  Ver 10.3.14-MariaDB-1:10.3.14+maria~stretch-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)

运行mysql_secure_installation以提高安全性并为root用户设置密码。

sudo mysql_secure_installation

Would you like to setup VALIDATE PASSWORD plugin? N
Please set the password for root here.
New password: **********************
Re-enter new password: **********************
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

Success.

All done!

以root用户身份登录MariaDB。

sudo mysql -u root -p
# Enter password

创建用于安装Roadiz的新数据库和用户,并记住凭据。

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit

安装和配置Nginx

安装Nginx。

sudo apt install -y nginx

检查版本。

sudo nginx -v
# nginx version: nginx/1.10.3

运行sudo vim /etc/nginx/sites-available/roadiz.conf并使用以下配置填充文件。

server {
  listen 80;
  listen [::]:80;

  server_name example.com; # Check this
  root /var/www/roadiz/web; # Check this

  index index.php;

  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ ^/(dev|install|preview|clear_cache)\.php(/|$) {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
  }

  location ~ ^/index\.php(/|$) {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    internal;
   }
}

roadiz.conf通过将文件链接到sites-enabled目录来激活新配置。

sudo ln -s /etc/nginx/sites-available/roadiz.conf /etc/nginx/sites-enabled/

测试配置。

sudo nginx -t

重新加载Nginx。

sudo systemctl reload nginx.service

安装作曲家

全局安装Composer。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

检查版本。

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

安装Roadiz

创建一个文档根目录。

sudo mkdir -p /var/www/roadiz

/var/www/roadiz目录的所有权更改为johndoe

sudo chown -R johndoe:johndoe /var/www/roadiz

导航到文档根目录。

cd /var/www/roadiz

使用Composer创建一个新的Roadiz项目。

composer create-project roadiz/standard-edition .

注: 如果系统内存不足1GB,则在运行composer create-project命令时可能会遇到错误。为解决此问题,请配置大量的交换内存或垂直扩展服务器。

/var/www/roadiz目录的所有权更改为www-data

sudo chown -R www-data:www-data /var/www/roadiz

出于安全原因,Roadiz对install.php文件使用IP过滤。为了能够访问它,请运行sudo vim /var/www/roadiz/web/install.php并将您的IP地址添加到$allowedIp阵列。

$allowedIp = [
    '10.0.2.2',
    '192.168.33.1',
    '127.0.0.1', 'fe80::1', '::1', ':ffff:127.0.0.1', '::ffff:127.0.0.1',
    'YOUR_IP_ADDRESS_HERE'
]

http://example.com/install.php在Web浏览器中打开,然后按照说明安装Roadiz CMS。

Roadiz安装完成后,可以删除install.php脚本。

sudo rm /var/www/roadiz/web/install.php

要访问Roadiz管理员,请附加/rz-admin到您网站的URL。



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息