Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Instalacja i konfiguracja środowiska lokalnego pod potrzeby IP.Board


Macsch15

Rekomendowane odpowiedzi

W tym poradniku postaram się w najprostszy sposób, w jaki sposób skonfigurować środowisko oparte o Vagrant do uruchomienia IP.Board na lokalnym komputerze.

Co to jest Vagrant? Vagrant jest narzędziem do zarządzenia wirtualną maszyną opartą (w naszym przypadku) o VM VirtualBox.

Jakie są zalety korzystania z Vagrant'a? Vagrant pobiera i tworzy obraz wirtualnej maszyny który jest całkowicie odseparowany od naszego systemu operacyjnego, dzięki temu nie narażamy się na utratę danych czy oprogramowanie które cały czas działa w tle nawet podczas gdy nie korzystamy z localhost. Kolejną zaletą jest to, że zazwyczaj obraz wirtualnej maszyny to linux (najczęściej Ubuntu Server albo Debian) dzięki czemu mamy prawilne i wydajne środowisko do obsługi localhost.

Ale nie oszukujmy się, instalacja i konfiguracja Vagranta wymaga trochę więcej wiedzy, czasu i danych do pobrania od przykładowo XAMPP.

 

Pobieramy i instalujemy VM VirtualBox: https://www.virtualbox.org/wiki/Downloads

Pobieramy i instalujemy Vagrant: https://www.vagrantup.com/downloads.html

Pobieramy i instalujemy Git (przy instalacji zaznaczamy aby dodać polecenie git do PATCH): https://git-scm.com/download/win

 

Po uruchomieniu Virtualbox'a, pojawi się informacja o konieczności zainstalowania rozszerzenia.

2018-06-21_23-23-54.png.33903a97d0b82d80fb0fa69661dc6f26.png

 

Będziemy korzystali z obrazu Homestead, zawiera on wszystko i dużo więcej niż to co potrzebujemy do uruchomienia IP.Board.

A co dokładnie zawiera?

  • Ubuntu 18.04
  • Git
  • PHP 7.2
  • PHP 7.1
  • PHP 7.0
  • PHP 5.6
  • Nginx
  • Apache (Optional)
  • MySQL
  • MariaDB (Optional)
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • Elasticsearch (Optional)
  • ngrok
  • wp-cli
  • Zend Z-Ray
  • Go
  • Minio

 

Po pobraniu i zainstalowaniu wszystkiego tego, co jest wyżej wymienione, uruchamiany w konsoli (CMD.exe lub ulubiony):

vagrant box add laravel/homestead

Następnie pobieramy repozytorium:

git clone https://github.com/laravel/homestead.git Homestead

Utworzony zostanie folder Homestead (można zmienić jego nazwę na dowolną) do którego przechodzimy dwukrotnym naciśnięciem lewego przycisku myszy (?).

 

W celu wstępnej konfiguracji uruchamiamy plik init.bat.

 

Teraz otwieramy w ulubionym edytorze (polecam Sublime Text 3 lub Atom) plik Homestead.yaml

Plik:

 

Jeżeli nie będziemy korzystać z klucza SSH do logowania, możemy objąć w komentarz:

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

Czyli finalnie ma być tak:

#authorize: ~/.ssh/id_rsa.pub

# keys:
#     - ~/.ssh/id_rsa

Vagrant ma możliwość dodawania tzw "udostępnionych folderów" (pokolenie facebooka, proszę nie mylić z udostępnianiem selfie na facebooka ?), czyli możemy mieć folder na lokalnym komputerze z Windows i jego zawartość będzie dostępna w systemie maszyny wirtualnej (linux).

 

Tworzymy sobie gdzieś folder gdzie będą pliki z IP.Board i zmieniamy:

folders:
    - map: ~/code
      to: /home/vagrant/code

Na:

folders:
    - map: C:\\Lokalny\\Folder\\IPBoard
      to: /var/www

Następnie musimy przypisać adres do maszyny, w tym celu zmieniamy:

sites:
    - map: homestead.test
      to: /home/vagrant/code/public

Na:

sites:
    - map: ipboard.app
      to: "/var/www"

Zapisujemy zmiany w pliku i przystępujemy do uruchomienia maszyny wirtualnej.

W tym celu, przechodzimy do wcześniej utworzonego folderu Homestead i w konsoli (CMD.exe lub ulubiony) uruchamiany polecenie:

vagrant up

2018-06-21_22-52-31.png.d3f1aa89176baf752e20b4ff4596803e.png

 

Po bezbłędnym rozruchu, możemy połączyć się z maszyną poprzez SSH. Może nam posłużyć do tego klient PuTTy. Ja użyję Windows Subsystem for Linux

2018-06-21_22-53-14.png.4fabf9c974ee37518657ea10025358ed.png

 

Domyślne dane logowania to:

Login: vagrant

Hasło: vagrant

Adres IP: 192.168.10.10

 

Po zalogowaniu się do konsoli musimy wstępnie skonfigurować stronę do serwera httpd (Nginx).

 

Przechodzimy do katalogu sites-available

cd /etc/nginx/sites-available

A następnie tworzymy plik ip.board

touch ip.board

2018-06-21_23-40-51.png.da93af276542e534d0320e5562ac0293.png

 

Do edycji pliku możemy użyć klienta FTP (należy utworzyć połączenie SFTP over SSH) albo użyć Vim. Osobiście użyję Vim.

 

Otwieramy plik:

vi ip.board

Kopiujemy (Ctrl + C) konfigurację NGINX:

server {
    listen 80;
    listen 443 ssl http2;
    server_name .ipboard.app;
    root "/var/www";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/php.dev-error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        

        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }
}

 

Wklejamy konfigurację do okna Vim naciskając prawy przycisk myszy.

2018-06-21_23-47-38.thumb.png.4bb4b79d702dc453c3ff4c10c977542b.png

 

Teraz wychodzimy z trybu INSERT naciskając ESC na klawiaturze a następnie przechodzimy w tryb command-line i zapisujemy plik wpisując ":w" (zatwierdzamy Enter).

2018-06-21_23-51-20.thumb.png.01df1ce6dbfaff38c867257aaa89abb3.png

 

Aby wyjść z edytora, wpisujemy ":q" i naciskamy Enter.

 

Teraz musimy uruchomić ponownie usługę nginx, wpisujemy i uruchamiamy:

sudo service nginx restart

 

Teraz musimy przypisać adres do pliku hosts. Plik znajduje się w:

C:\Windows\System32\drivers\etc\hosts

Na samej górze pliku dodajemy:

192.168.10.10 ipboard.app

Zapisujemy plik.

 

Teraz wykonujemy polecenie aby utworzyć certyfikaty SSL i przebudować strony:

vagrant reload --provision

 

Teraz możemy przenieść pliki IP.Board do wcześniej utworzonego folderu i sprawdzić czy wirtualna maszyna je zaindeksowała:

cd /var/www
ls

Jeżeli wyświetli się samo "html" będziemy musieli uruchomić ponownie Vagrant'a.

vagrant halt
vagrant up

 

Przechodzimy pod adres ipboard.app i instalujemy IP.Board.

Później możemy jeszcze dodać polskie locale: https://forum.invisionize.pl/topic/47382-instalacja-polskiego-locale-na-serwerze-z-debianemubuntu/?tab=comments#comment-282403

 

2018-06-22_00-24-20.thumb.png.b16a73d8b43aa408a64be06b4f146d18.png

 

  • Lubię to 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
11 godzin temu, Macsch15 napisał:

Vagrant pobiera i tworzy obraz wirtualnej maszyny który jest całkowicie odseparowany od naszego systemu operacyjnego, dzięki temu nie narażamy się na utratę danych czy oprogramowanie które cały czas działa w tle nawet podczas gdy nie korzystamy z localhost. Kolejną zaletą jest to, że zazwyczaj obraz wirtualnej maszyny to linux (najczęściej Ubuntu Server albo Debian) dzięki czemu mamy prawilne i wydajne środowisko do obsługi localhost.

Że to? :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.