Instalacja forum Discurse na własnym komputerze (localhost)

Posty z tego forum zostaną usunięte po kilkunastu dniach

Instalacja forum Discurse na własnym komputerze (localhost)

Postprzez Juliusz » Śr lis 13, 13 17:20

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.
Juliusz
 
Posty: 2
Dołączył(a): Śr lis 06, 13 18:43

Powrót do Śmietnik

Copyright © 2007-2011 ugu.pl
Wszelkie prawa zastrzeżone.
Polityka prywatności

cron