Рубрики
Uncategorized

WordPress вместе с приложением Rails с Apache2 и пассажиром

WordPress наряду с приложением Rails с Apache2 и пассажирским вступлением Этот документ H … Теги с DevOps, Apache2, Rails.

WordPress вместе с приложением Rails с Apache2 и пассажиром

вступление

Этот документ помогает запустить блог WordPress наряду с приложением Rails на одном и том же сервере и сделать его доступным/доступным через приложение Rails. В этом примере мы хотим запустить приложение Rails, которые наплечны через доменное имя www.dhanesh-example.com А также хотите запустить экземпляр WordPress, который доступен через/блог.

  1. Пользователь доступа к www.dhanesh-example.com или любые пути (кроме/блог/API), он будет ссылаться на приложение Rails
  2. Пользователь доступа к www.dhanesh-eample.com/blog Или любые пути внутри/Path Path Path его будут ссылаться на WordPress.

Шаги

  • Новые или бегущие рельсы Путь проекта/var/www/html/rails_app
  • Установите пассажирский драгоценный камень
  • Установите Apache2 и пассажирский модуль
  • Создать виртуальный хост для приложения Rails
  • Скачать, извлекать и переименовать папку WordPress в блог
  • Переместите папку блога в/var/www/html/блог и настройте наш экземпляр WordPress
  • Создайте базу данных MySQL для нашего экземпляра WordPress
  • Установите WP_HOME и WP_SITEURL WordPress Config в http://www.dhanesh-example.com/blog.
  • Добавьте Gem ‘Rails-Reverse-Proxy’ на ваш драгоценный и запустить Bundle Установите, совершайте драгоценный и GEMFile.lock.
  • Создать контроллер для обработки обратного прокси из рельсов к WordPress
  • Создайте новый маршрут, который укажет путь доступа к/блогов на наш обратный прокси-контроллер.

ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ

Настроить рельсы, пассажирские, Apache2

Установите GEM PASSAGER GEM и продолжайте установить пассажирский модуль Apache2, запустив модуль Passenger-install-apache2. Следуйте любым инструкциям из Руководства по установке, пока все требования не соблюдаются.

Примечание. Не забывайте важную роль от руководства по установке, которое попросит вас загрузить пассажирский модуль в файле конфигурации Apache2/etc/apache2/apache2.conf

Создайте новый виртуальный хост, создав новый файл конфигурации в/etc/apache2/sites-available/dhanesh-example.conf папки. Используйте эту конфигурацию для виртуального хоста:


    ServerName dhanesh-example.com
    ServerAlias www.dhanesh-example.com
    ServerAdmin dhanesh@example.com
    DocumentRoot /var/www/html/rails_app/current/public
    RailsEnv production
    ErrorLog /var/log/apache2/app-name/error.log
    CustomLog /var/log/apache2/app-name/production.log combined
    
        Options FollowSymLinks
        Require all granted
    

Конфигурация WordPress

Обновите wp-config.php set wp_home и wp_siteurl в http://www.dhanesh-example.com/blog Отказ

define('WP_SITEURL', 'http://dhanesh-example.com/blog');
define('WP_HOME',    'http://dhanesh-example.com/blog');
define('FS_METHOD', 'direct');

Настройка обратного прокси из рельсов до WordPress

Установить Rails-Reverse-Proxy Gem

Создайте контроллер, который будет обрабатывать обратный прокси из рельсов к WordPress. В моем примере название контроллера является WordPessController со следующими кодами:

# app/controllers/wordpress_controller.rb
class WordPressController < ApplicationController
  include ReverseProxy::Controller
  def index
    reverse_proxy "http://dhanesh-example.com:80" do |config|
      config.on_missing do |code, response|
        redirect_to root_url   and return
      end
    end
  end
  end

Вы могли бы изменить http://dhanesh-example.com:80 Часть с любым хостом и любым портом, где работает ваш экземпляр WordPress.

Далее необходимо добавить новый маршрут в конфигурацию/Route.rb, который будет указывать на любой запрос на/блог путь в нашем приложении Rails к нашему обратному прокси-контроллеру (WordPessController). Вот мой конфиг/маршруты .rb:

Rails.application.routes.draw do
  match 'blog' => 'wordpress#index', via: [:get, :post, :put, :patch, :delete]
  match 'blog/*path' => 'wordpress#index', via: [:get, :post, :put, :patch, :delete]

  get 'home/index'
  root to: 'home#index'
end

Когда есть запрос к/блогом пути, наше приложение Rails укажет его на сервер Apache и ищут папку с именем Blog, поэтому нам нужно переименовать нашу папку WordPress в блоге.

Настройте виртуальный хост для WordPress

Отредактируйте ранее созданный файл конфигурации в папке dhanesh-example.conf. Добавьте следующие конфигурации к виртуальному хосту:

    Alias /blog /var/www/html/blog
    
        Allow From all
        Options +Indexes
        AllowOverride all
    

    
      PassengerEnabled off
    

Перезапустите сервер Apache еще раз.

Контрольная работа

Dhanesh-example.com он будет отображать страницу Rails и попытаться получить доступ к Dhanesh-example.com/blog, он укажет блог WordPress

Пример Вход Vhost.



    RailsEnv production
    ServerName dhanesh-example.com
    #ServerAlias www.dhanesh-example.com
    DocumentRoot "/var/www/html/rails_app/current/public"
    PassengerRuby /home/dhanesh/.rvm/gems/ruby-2.6.3/wrappers/ruby
    #DocumentRoot "/var/www/html"
    ErrorLog "/var/log/apache2/example.com/error.log"
    CustomLog "/var/log/apache2/example.com/access.log" common
    
    #
        Options All
        #DirectoryIndex maintenance.html
        AllowOverride All
        Order allow,deny
        Allow from all
    
    Alias /blog /var/www/html/blog
    
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
    
    
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    
    
        PassengerEnabled off
    
    #RewriteEngine on
    #RewriteRule index\.html index.php [NC,R]
    # Remove the www
    #RewriteCond %{HTTP_HOST} ^www.URL$ [NC]
    #RewriteRule ^(.*)$ http://URL/ [R=301,L]
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/dhanesh-example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/dhanesh-example.com/privkey.pem


Спасибо

Оригинал: «https://dev.to/dhanupreeth/wordpress-along-with-rails-app-with-apache2-and-passenger-1egd»