How to Setup Orangescrum
Application On NGINX

Step by step guide to integrate Orangescrum Community Edition on NGINX.

Configure Orangescrum Community Edition on NGINX WebServer

Last Updated: 25th May, 2016
Print Print this page

  1. Step 1

    Update the system with the following command.

    # yum update -y

    Selinux must be closed before installation.

  1. Step 2: Install LEMP

    For installing nginx,trigger the below command.

    # rpm--Uvh
    # yum update
    # yum install nginx

    Nginx is now installed on the system and now we will start theservice.

    #/etc/init.d/nginx start
    # chkconfig nginx on

    Now we install the MySQL database and then start and configure the MySQL database.

    # yum install mysql mysql--server
    # chkconfig mysqld on
    #/etc/init.d/mysqld start
    # mysql_secure_installation

    After press output will be like this. System will ask you some question and you have to answer them accordingly, as shown below.


    In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here.

    Enter current password for root(enter for none):
    OK,successfully used password, movingon...

    Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.

    Set root password?[Y/n] ←Enter
    New password: ←your root sql password
    Re Enter new password: ←your root sql password
    Password updated successfully!
    Reloading privilege tables..

    By default,a MySQL installation has an anonymous user,allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother.You should remove them before moving into a production environment.

    Remove anonymous users?[Y/n] ←Enter

    Normally,root should only be allowed to connect from 'localhost'.This ensures that someone cannot guess at the root password from the network.

    Disallow root login remotely?[Y/n] ←Enter

    By default,MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.

    Remove test database and access to it?[Y/n] ←Enter
    -Dropping test database...
    -Removing privileges on test database...

    Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

    Reload privilege tables now?[Y/n] ←Enter

    Cleaning up...

    All done! If you've completed all of the above steps,your MySQL installation should now be secure.

    Thanks for using MySQL!

    Then we will install php, php-fpm and php-common and then start the php-fpm service.

    # yum install php php-common php-fpm
    # chkconfig php-fpm start
    # chkconfig --list
    #/etc/init.d/php--fpm start

    Then we will install some php-modules.

    # yum install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

    With this Nginx, MySQL and php installed on the system. To configure the orangescrum community edition, first we download the source code from After downloading first we have to create a database user,database with mysql command.

  2. Step 3: MySQL configuration.

    Login as root user.

    # mysql-u root-p

    Enter password:

    It will ask for password.With the right credential you will get a prompt like below.

    Create the database named " orangescrum ".

    mysql> create database orangescrum;

    To verify it,

    mysql> show databases;

    you will get database list.

    Create the user and give it the password with all privileges. Here my database user is orangescrum and password is orangescrum too.

    mysql>create user orangescrum;

    mysql>grant all on orangescrum.* to 'orangescrum'@'localhost' identified by 'orangescrum';

    Exit from the database, Restore the database from database.sql file which was downloaded along with the orangescrum community edition. Here my database is on /root directory.

    # mysql-u orangescrum-p orangescrum
    < /root/database.sql Enter password:

    By this database has been configured. Now we are going to configure the virtual hosting on nginx server to run the orangescrum community edition.

  3. Step 4: Configure virtual hosting on nginx.

    Open the php.ini file and make a small change.

    # vi/etc/php.ini
    Search the line cgi.fix_pathinfo=1, uncomment this and change the value 1 to 0.

    Open the php.fpm configuration file and replace the apache in the user and group with nginx. Then after restart the php-fpm service.

    # vi/etc/php---fpm.d/www.conf
    ;Unix user/group of processes
    ;Note:The user is mandatory. If the group is not set, the default user's group
    ; will be used.
    ;RPM: apache Choosed to be able to access some dir as httpd
    ; RPM: Keep a group allowed to write in log dir.
    # chkconfig php-fpm on
    #/etc/init.d/php-fpm start.

    Open the default nginx config file and do below changes.

    # vi/etc/nginx/conf.d/default.conf
    # The default server
    listen 80 default_server;
    # server_name;
    # charset koi8-r;
    #access_log logs/host.access.log main;
    # Load configuration files for the default server
    block. include /etc/nginx/default.d/*.conf;
    location / {
    root /usr/share/nginx/html/; index index.html index.htm;
    error_page 404 /404.html;
    location = /404.html {
    root /usr/share/nginx/html/;
    # redirect server error pages to the static page /50x.html
    error_page 500 502 503 504 /50x.html; location = /50x.html {
    root /usr/share/nginx/html/;
    # proxy the PHP scripts to Apache listening on
    #location ~ \.php$ {
    # proxy_pass;
    # pass the PHP scripts to FastCGI server listening on
    location ~ \.php$ {
    root /usr/share/nginx/html/; fastcgi_pass; fastcgi_index index.php;
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #location ~ /\.ht {
    # deny all; #}

    Create a directory under /var/www/html/ folder called public_html.

    # mkdir /var/www/html/public_html

    Copy the downloaded folder (orangescrum-master) to the public_html directory and give the permission to /var/www and change ownerschip of orangescrum-master directory accordingly. Here my downloaded directory is orangescrum-master.

    #Cp -r -a -p /root/OS_Community /var/www/html/public_html/
    # chmod 755 /var/www
    # chown -R nginx:nginx /var/www/html/public_html

    Edit the /etc/nginx/conf.d/virtual.conf as below. Here my virtual host is

    # vi /etc/nginx/conf.d/virtual.conf
    server { listen
    server_name; access_log /var/log/nginx/; error_log /var/log/nginx/;
    root /var/www/html/public_html/OS_Community/orangescrum-master;
    index index.php;
    # use fastcgi for all php files
    # Are you sure you have this set
    up? location ~ \.php$ {
    fastcgi_index index.php;
    SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
    location / {
    try_files $uri $uri/ /index.php?$uri&$args;
    rewrite ^/$ /app/webroot/ break; rewrite
    ^(.*)$ /app/webroot/$1 break;
    # deny access to apache .htaccess files
    location ~ /\.ht { deny all;

    Rename the .htaccess file to .htaccess_bak.

    # cd /var/www/html/public_html/OS_Community/orangescrum-master/
    # mv .htaccess .htaccess_bak.

    Now open your browser and type your url.

Last Updated: 25th May, 2016

24×7,We are there for you

Free Forum support is provided by the Orangescrum Community.

If you require any urgent or professional help, contact Orangescrum Professional Services team!

Download Now Try All Add-on Demo