Pre-Requisite:
Hardware:
- RAM: minimum 2 GB
- Processor: Core2duo or Higher
- Disk Space: 10 GB or Higher
Software:
- MySql: 5.6
- PHP >= 5.4 and PHP <= 5.6 (best choice is 5.6)
Step 1
Download the Orangescrum Open Source Version URL:
www.orangescrum.org/free-download Extract the archive file.
Update the system with the following command.
# yum update -y
Note: Selinux must be closed before installation.
Step 2
Install LEMP
For installing nginx, trigger the below command.
# rpm–Uvh
(http://dl.fedoraproject.org/pub/epel/6/i386/epel–release–6–8.noarch.rpm)
# yum update
# yum install nginx
Nginx is now installed on the system and now we will start the service.
#/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. The system will ask you some question and you have to answer them accordingly, as shown below.
Note: Running all parts of the script is recommended for all MySQL Servers in production use! Please read each step carefully!
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, moving on…
Setting the root password ensures that nobody can log into the MySQL root user without the proper authorization.
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..
…Success!
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
…Success!
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
…Success!
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…
…Success!
-Removing privileges on test database…
…Success!
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now?[Y/n] ←Enter
…Success!
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 http://www.orangescrum.org/free-download. After downloading first we have to create a database user,database with mysql command.Save more! Get extra 15% off on Add-ons*Use Coupon co
Step 3
MySQL configuration.
Login as root user.
# mysql-u root-p
Enter password:
It will ask for the password.With the right credential, you will get a prompt like below.
MySQL
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.
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.
cgi.fix_pathinfo=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
user=nginx
; RPM: Keep a group allowed to write in log dir.
group=nginx
[…]
# 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
#
server{
listen 80 default_server;
# server_name orscommunity.com;
# 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 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html/; fastcgi_pass 127.0.0.1:9000; 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 orscommunity.com/www.orscommunity.com
# vi /etc/nginx/conf.d/virtual.conf
server { listen
80;
server_name orscommunity.com www.orscommunity.com; access_log /var/log/nginx/orscommunity.com.access.log; error_log /var/log/nginx/orscommunity.com.error.log;
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_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param
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.