Instalacja git:
sudo apt-get update
sudo apt-get install git
Instalacja paczek deweloperskich:
sudo apt-get install build-essential libssl-dev libyaml-dev git libtool libxslt-dev libxml2-dev libpq-dev gawk curl pngcrush imagemagick python-software-properties
Instalacja serwera Nginx:
sudo nano /etc/apt/sources.list
+ deb http://nginx.org/packages/ubuntu/ precise nginx
+ - oznacza dodanie linijki kodu
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install nginx
Instalacja serwera Redis:
sudo apt-add-repository ppa:rwky/redis
sudo apt-get update
sudo apt-get install redis-server
Instalacja PostgreSQL:
sudo apt-get install postgresql-9.1 postgresql-contrib-9.1 pgadmin3
Instalacja Ruby:
sudo add-apt-repository ppa:brightbox/ruby-ng-experimental
sudo apt-get update
sudo apt-get install ruby2.0 ruby2.0-dev
Nginx ustawił środowisko Ruby na starszą wersję, przywróć domyślnego Ryby:
sudo update-alternatives --config ruby
Wybierz wersję 2.0.
sudo update-alternatives --config gem
Wybierz wersję 2.0.
Pobieranie katalogu Discourse:
git clone https://github.com/discourse/discourse.git
Instalacja Gemu Bundler:
sudo gem install bundler
Kopiowanie ważnych plików konfiguracyjnych:
cd ./discourse/config
cp database.yml.development-sample database.yml
cp redis.yml.sample redis.yml
cd ./environments
cp production.rb.sample production.rb
cd ../../
Konfiguracja Nginx:
sudo cp ./config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
Zmień nazwę serwera w pliku discourse.conf na localhost
sudo nano /etc/nginx/conf.d/discourse.conf
Chodzi o poniższą linijkę:
server_name localhost;
Konfiguracja PostgreSQL:
sudo -u postgres psql postgres
\password postgres
\q
(Hasło nie może być puste.)
Edycja pliku /config/database.yml:
nano ./config/database.yml
development:
+ username: postgres
+ password: [twoje hasło]
+ - oznacza dodatnie linijki kodu
Otwieramy program pgAdmin, logujemy się do bazy danych i dodajemy bazę discourse_development.
Pobieraie Gemów wymaganych przez Discourse wkatalogu zawierającym Discourse:
sudo bundle install --without test --deployment
Skopiuj folder Discourse do folderu /var/www , jak nie ma www to utwórz folder.
Zrestartuj komputer.
Uruchamiamy polecenia:
cd /var/www/discourse
sudo bundle exec rake db:migrate db:seed_fu
Uruchomienie serwera:
sudo bundle exec sidekiq
sudo RUBY_GC_MALLOC_LIMIT=90000000 bundle exec rails server
Strona jest pod adresem:
localhost:3000
Na stronie zakładamy konto, a następnie w katalogu /var/www/discourse , uruchamiamy polecenie:
sudo bundle exec rails c
W konsoli rails wpisujemy:
me = User.find_by_username_or_email('adres email podany podczas rejestracji')
me.activate
me.admin = true
me.save
exit
Możemy zalogować się na forum postawionym lokalnie.
Dawno temu grając w Tibię spotkałem się z programem Hamachi, program ten umożliwia tworzenie małych sieci (do 5 użytkowników) które są prywatne. Do celów testowych nadaje się idealnie, każdy komputer może być w tej sieci serwerem. Dzięki temu programowi możesz podzielić się z przyjaciółmi swoją stroną internetową.
W razie potrzeby wytłumaczenia co dane polecenie robi, służę pomocą.
Z językiem Ruby już miałem do czynienia, ostatni skrypt jaki napisałem to był archiwizujący bazę danych i wysyłający ją na serwer kopii zapasowych.
Ruby (on Rails) tworzy trzy środowiska pracy: development (deweloperskie), production (wdrożeniowe) i test (testowe).
Instrukcja którą zamieściłem jest dla środowiska deweloperskiego, wdrożeniowe wymaga bazy danych na innym serwerze niż localhost, (tutaj przydaje się program Hamachi, dlatego o nim piszę).
Na hostingu ugu.pl się nie da ze względu na brak obsługi języka Ruby, bazy danych PostgreSQL i bazy cache Redis.