Установка Fork CMS на CentOS 7

Fork - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Форка размещен на GitHub . Это руководство покажет вам, как установить Fork CMS на свежий экземпляр CentOS 7.4 Vultr.

Требования

  • PHP 7.1 или выше.
  • MySQL 5.0 или выше.
  • NGINX или Apache 2.0 с .htaccess, mod rewrite, mod expires(необязательно , но рекомендуется) и mod deflate(необязательно) включен.

Прежде чем вы начнете

Проверьте версию CentOS.

cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)

Создайте новую non-rootучетную запись пользователя с sudoдоступом и переключитесь на нее.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

ПРИМЕЧАНИЕ . Замените johndoeна свое имя пользователя .

Установите часовой пояс.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Убедитесь, что ваша система обновлена.

sudo yum update -y

Установите необходимые и полезные пакеты.

sudo yum install -y wget vim unzip bash-completion

Отключить SELinux.

sudo setenforce 0

Шаг 1 - Установите PHP, необходимые расширения PHP, NGINX и MySQL

CentOS не предоставляет последнюю версию PHP в своих репозиториях программного обеспечения по умолчанию. Нам нужно будет добавить репозиторий Webtatic YUM. Чтобы узнать, как это сделать, вы можете следовать этому руководству Vultr .

Загрузите и установите PHP 7.2 и необходимые расширения PHP.

sudo yum install -y php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-gd php72w-intl php72w-mysql php72w-xml

Проверьте версию PHP.

php --version
PHP 7.2.2 (cli) (built: Feb  4 2018 10:14:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Установите NGINX.

sudo vim /etc/yum.repos.d/nginx_mainline.repo

# Copy/paste this to the /etc/yum.repos.d/nginx_mainline.repo file

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

sudo yum install -y nginx

Проверьте версию NGINX.

sudo nginx -v

Запустите и включите NGINX.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Установите MariaDB.

sudo vim /etc/yum.repos.d/MariaDB.repo

# Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

sudo yum install -y MariaDB-server MariaDB-client

Проверьте версию MariaDB.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1

Запустите и включите MariaDB.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

Запустите mysql_secure_installationскрипт, чтобы повысить безопасность вашей установки MariaDB.

sudo mysql_secure_installation

Войдите в MariaDB как пользователь root.

mysql -u root -p
# Enter password:

Создайте новую базу данных MariaDB и пользователя и запомните учетные данные.

create database dbname;
grant all on dbname.* to 'username' identified by 'password';

Выход из MySQL.

exit

Шаг 2 - Настройте NGINX

Запустите sudo vi /etc/nginx/conf.d/fork.confи заполните его следующим.

server {
    listen 80;

    root /var/www/fork;
    index index.php index.html;

    server_name example.com;

    location / {
        # Checks whether the requested url exists as a file $uri or directory $uri/ in the root, else redirect to /index.php.
        try_files $uri $uri/ @redirects;
    }

    location @redirects {
        rewrite ^ /index.php;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000; # Make sure to doublecheck this!
        fastcgi_index index.php;
        fastcgi_read_timeout 60;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # Don't pollute the logs with common requests
    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }

    # As Fork CMS has the app_root as doc_root, we need to restrict access to a few things for security purposes!
    location ~* ^/(composer\..*|vendor\/.*|Procfile$|\.git\/.*|src\/Console.*|.*\.gitignore|\.editorconfig|\.travis.yml|autoload\.php|bower\.json|phpunit\.xml\.dist|.*\.md|app\/logs\/.*|app\/config\/.*|src\/Frontend\/Cache\/CompiledTemplates.*|src\/Frontend\/Cache\/Locale\/.*\.php|src\/Frontend\/Cache\/Navigation\/.*\.php|src\/Frontend\/Cache\/Search\/.*|src\/Backend\/Cache\/CompiledTemplates\/.*|src\/Backend\/Cache\/Locale\/.*\.php)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Deny access to dot-files.
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

Краткое описание изменений, которые вы будете вносить, выглядит следующим образом.

  • Измените значение rootдирективы, чтобы указать правильное местоположение вашего сайта, например /var/www/fork.
  • Измените значение server_nameдирективы, указав имя вашего домена или IP-адрес.
  • Убедитесь, что вы проверите, fastcgi_passправильно ли установлено.

Проверьте конфигурацию NGINX.

sudo nginx -t

Перезагрузите NGINX.

sudo systemctl reload nginx.service

Шаг 3 - Загрузите и установите Composer

Загрузите зависимости Composer.

sudo yum install -y curl git unzip

Загрузите и установите Composer , менеджер зависимостей для PHP.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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.

composer --version
# Composer version 1.6.3 2018-01-31 16:28:17

Шаг 4 - Загрузите и установите Fork CMS через Composer

Создайте корневой каталог документа.

sudo mkdir -p /var/www/fork

Изменить владельца /var/www/forkкаталога на johndoe.

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

Загрузите последнюю стабильную версию Fork CMS из командной строки.

cd /var/www/fork
composer create-project forkcms/forkcms .

Изменить владельца /var/www/forkкаталога на nginx.

sudo chown -R nginx:nginx /var/www/fork

Запустите sudo vim /etc/php-fpm.d/www.confи установите пользователя и группу в nginx.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Перезагрузка php-fpm.service.

sudo systemctl restart php-fpm.service

Отредактируйте app/config/parameters.yml.distфайл и установите информацию базы данных.

sudo vim /var/www/fork/app/config/parameters_install.yml

Создайте /var/lib/php/sessionкаталог и измените его владельца на пользователя nginx.

sudo mkdir -p /var/lib/php/session
sudo chown -R nginx:nginx /var/lib/php/session

Наконец, используя ваш любимый веб-браузер, откройте ваш сайт и следуйте Fork CMSустановщику. После следования установщику вы должны запустить и запустить Fork. Чтобы получить доступ к административной области Fork, просто добавьте /privateURL своего сайта.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше