官术网_书友最值得收藏!

Running with Apache as mod_fcgid

The mod_fcgid module is a high-performance alternative to mod_cgi and handles all requests for programs (such as Ruby) that need to be executed on the server. This recipe may not be a very popular choice due to the fact that many standalone Ruby servers such as Thin, Puma, and Phusion Passenger now exist. However, it may be required, and it's very reliable and relies only on Apache and Ruby executables.

Getting ready

  • Install Redmine as explained in Installing Redmine from a source on Ubuntu to the home directory.
  • Install Apache and mod_fastcgid by typing the following:
    sudo apt-get install apache2 libapache2-mod-fcgid
    

How to do it…

Once the prerequisites are installed, and Redmine is confirmed as working with WEBrick, then navigate to /home/youruser/redmine/public and type the following commands:

cd /home/youruser/redmine/public
mv dispatch.fcgi.example dispatch.fcgi
chmod 755 dispatch.fcgi
mv htaccess.fcgi.example .htaccess

Create a new virtual host for Apache, or edit the default host. We will create a new host called redmine.yoursite.com:

sudo nano /etc/apache2/sites-available/redmine.yoursite.com

Enter the following contents:

<VirtualHost *:80>
        ServerName redmine.yoursite.com
        DocumentRoot /home/youruser/redmine/public
        <Directory /home/youruser/redmine/public >
                Options Indexes ExecCGI FollowSymLinks
                Order allow,deny
                Allow from all
                AllowOverride all
        </Directory>
        ErrorLog /var/log/apache2/yoursite_error.log
        CustomLog /var/log/apache2/yoursite_access.log combined
</VirtualHost>

Enable your new website and restart Apache:

sudo a2ensite redmine.yoursite.com
sudo service apache2 restart

After restarting, your Redmine should be ready and accessible through http://redmine.yoursite.com provided DNS is set properly or at least hosts file for testing purposes.

How it works…

At first, we installed mod_fcgid for Apache, then we prepared dispatch.fcgi; .htaccess, dispatch.fcgi is used by mod_fcgid through Apache and Ruby to run Redmine. htaccess tells Apache what to do with dispatch.fcgid. After this, we created a new virtual server for Apache. This may be done through an Apache management tool, such as Webmin for example, but then the value needs to be entered through an entry form or edited like we did from the command line in this recipe. After creating a virtual server, we enabled it and tested Redmine.

There's more…

If you get an error such as, Rails application failed to start properly, try some of the troubleshooting recipes from Chapter 9, Troubleshooting (the Troubleshooting Apache installations section.)

See also

The official mod_fcgid website is http://httpd.apache.org/mod_fcgid/.

More on Apache administration can be found at https://httpd.apache.org/docs/2.2/vhosts/name-based.html.

主站蜘蛛池模板: 阳高县| 西充县| 常宁市| 潞城市| 沙湾县| 南部县| 巩义市| 寿光市| 桦甸市| 延长县| 台前县| 杭锦旗| 伽师县| 资阳市| 蒙城县| 滦平县| 修文县| 南川市| 阳信县| 涟水县| 三江| 深州市| 德令哈市| 上思县| 前郭尔| 枣强县| 大名县| 曲松县| 安平县| 辽源市| 林口县| 荆州市| 华蓥市| 吉隆县| 咸宁市| 南丹县| 大邑县| 临猗县| 桐乡市| 梓潼县| 耒阳市|