2015-06-21

Przeniesienie Redmine (2.0) na inny serwer (Ubuntu 14.04)

Na starej maszynce wykonujemy kopię katalogu, w którym znajduje się Redmine (u mnie to katalog redmine katalogu domowym) oraz zrzut bazy (u mnie bazą jest PostgreSQL). Następnie dane przenosimy na docelowy serwer i jedziemy wg poniższej instrukcji:
sudo apt-get install make
sudo apt-get install postgresql
sudo apt-get install postgresql-server-dev-9.3

# utworzenie w bazie usera redmine
psql -U postgresql template1
create user redmine with password 'twoje_haselko';
alter user redmine with superuser;
# wczytanie kopii bazy
\i backup/redmine/day/redmine-2015.03.21.15.28.sql

# wychodzimy z bazy i instalujemy kolejne rzeczy
sudo apt-get install ruby1.9.3 libmysqlclient-dev
sudo apt-get install libmagickcore-dev libmagickwand-dev
sudo gem install bundler
sudo gem install json -v '1.7.3'
sudo gem install pg -v '0.13.2'
cd redmine/redmine-2.0/
bundle install --without development test

# odpalenie redmine
bundle exec ruby script/rails server webrick -e production

# sprawdzenie czy wszystko smiga wchodzac przez http://ip-serwera:3000
Jeśli wszytko ładnie działa to możemy zabrać się za instalację Apache2 oraz Passengera:
sudo apt-get install apache2
sudo gem install passenger
sudo apt-get install libapache2-mod-passenger
Dodajemy PassengerDefaultUser www-data (tylko tę linię) do pliku /etc/apache2/mods-available/passenger.conf - cały plik powinien wyglądać mniej więcej tak:

  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby

Tworzymy plik /etc/apache2/sites-available/redmine i wpisujemy w nim:
[VirtualHost *:80]
    ServerName redmine.lh
    DocumentRoot /home/user/redmine/redmine-2.0/public
    ServerAdmin twoj@mail.pl
    LogLevel warn
    ErrorLog /var/log/apache2/redmine_error
    CustomLog /var/log/apache2/redmine_access combined
    [Directory /home/user/redmine/redmine-2.0/public]
       Options Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       allow from all
       RailsBaseURI /redmine
       PassengerResolveSymlinksInDocumentRoot on
    [/Directory]
[/VirtualHost]
Zamień znaki [] na <>.

sudo ln -s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/redmine
sudo a2enmod passenger
sudo service apache2 restart

2015-06-19

Instalacja Nginx zamiast Apache2

Nadszedł czas na coś nowego - zrezygnowałem z Apache2 na rzecz Nginx'a. Z Nginxem dobrze działa PHP FPM, który daje kilka ciekawych opcji - np: możliwość użycia eventu Symfony o nazwie kernel.terminate.


Jak zainstalować Nginx'a i PHP FPM pod Mintem (lub Ubuntu)?

# zatrzymujemy apache'a
sudo service apache2 stop

# usuwamy apache'a z autostartu
sudo update-rc.d apache2 disable

# instalujemy nginx'a
sudo apt-get update
sudo apt-get install nginx
sudo service nginx start
sudo service nginx status

# instalujemy PHP FPM
sudo apt-get install php5-fpm

# zmieniamy cgi.fix_pathinfo z 1 na 0
sudo mc -e /etc/php5/fpm/php.ini -> cgi.fix_pathinfo=0

# restartujemy PHP FPM
sudo service php5-fpm restart

Po kilku tygodniach pracy z lokalnie zainstalowanym Nginx'em mam nieodparte wrażenie, że jest on szybszy i lżejszy niż Apache2.