Lokalna instalacja BatFlat-a

Lokalna instalacja BatFlat-a

Niestety lokalne uruchomienie CMS BatFlat może spędzić sen z powiek, szczególnie początkującym developerom. Powodem tego jest konieczność odpowiedniej konfiguracji serwera. O ile kupując profesjonalny hosting, albo wszystko jest gotowe do pracy, albo administrator załatwi sprawę za nas, o tyle w przypadku lokalnego serwera sami sobie jesteśmy administratorami.

Na szczęście sprawa nie jest taka trudna jak mogłoby się to wydawać.

Aktualizacja pakietów systemu

Zakładam, że przystępując do uruchomienia CMS na swoim komputerze, posiadasz już zainstalowany i uruchomiony serwer oraz interpreter PHP. Jeżeli jest inaczej to zacznij od przeczytania wpisu o serwerach lokalnych.

W pierwszej kolejności aktualizujemy repozytoria:

piotr@pplaczek:/$ sudo -s 
root@pplaczek:/$ apt-get update
root@pplaczek:/$ apt-get pgrade

Ogólne wymagania

dokumentacji znajdziemy wymagania jakie musi spełnić nasza konfiguracja. Konieczne jest posiadanie:

  • Apache 2.2+ z trybem mod_rewrite
  • PHP w wersji 5.6 lub wyższej
  • Dostęp do SQLite

Potrzebne są również następujące rozszerzenia PHP:

  • dom
  • gd
  • mbstring
  • pdo
  • zip
  • curl

Brakuje tutaj rozszerzenia sqlite3. Ptrzebę jego instalacji należy wywnioskować z wymagania dostępu do SQLite.

Instalacja

Opis instalacji podzielimy sobie na dwa etapy. Pierwszym będzie przygotowanie, konfiguracja niezbędnych komponentów, a drugim skopiowanie systemu BatFlat.

Konfiguracja środowiska

Kolejność podejmowanych kroków instalacji jest dowolna. Ze względów praktycznych zaczniemy od instalacji SQLite. Następnie zajmiemy się PHP, a na końcu serwerem http.

SQLite

Pakiet dla SQLite pobierzemy z domyślnych repozytorów systemu:

root@pplaczek:/$ apt-get install sqlite

PHP

Następnie zainstalujemy i uruchamiamy odpowiednie rozszerzenia PHP:

root@pplaczek:/$ apt-get install php-dom php-gd php-mbstring php-pdo php-zip php-curl php-sqlite3

Aby uruchomić zainstalowane rozszerzenia musimy edytować plik /etc/php/x.x/apache2/php.ini , gdzie x.x jest numerem wersji interpretera. W tym pliku odnajdujemy sekcję Dynamic Extensions i upewniamy się, że wybrane są odpowiednie rozszerzenia.

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=dom
extension=gd
extension=mbstring
extension=pdo
extension=pdo_sqlite
extension=zip
extension=curl
extension=sqlite3

Musimy również zadbać o odblokowanie wybranych modułów:

root@pplaczek:/$ phpenmod dom gd mbstring pdo pdo_sqlite zip curl sqlite3

HTTP

Przed instalacją systemu CMS pozostała już tylko konfiguracja i restart serwera http. Ten etap składa się już tylko z dwóch kroków.

Należy odblokować moduł rewrite,

root@pplaczek:/$ a2enmod rewrite

a następnie umożliwić wykonywanie zasad z pliku .htaccess. W tym celu musimy edytować plik /etc/apache2/apache.conf . Należy zmienić dyrektywę AllowOverride z wartości None na wartość All, dla katalogu, który będzie zawierał pliki systemu BatFlat.

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>

Teraz pozostało już tylko zrestartowaś serwer z nowymi ustawieniami i zabrać się za instalację CMS.

root@pplaczek:/$ systemctl restart apache2

Instalacja CMS BatFlat

Ostatnim zadaniem na dziś jest pobranie i rozpakowanie plików BatFlat'a oraz nadanie im odpowienich praw (chmod).

root@pplaczek:/$ wget https://github.com/sruupl/batflat/archive/master.zip
root@pplaczek:/$ unzip batflat-master.zip
root@pplaczek:/$ mv batflat-master/* /var/www/html/
root@pplaczek:/$ find /var/www/html -type d -exec chmod 755 {} +
root@pplaczek:/$ find /var/www/html -type f -exec chmod 644 {} +

Od tej chwili możesz korzystać ze swojej kopii CMS BatFlat pod ardesem localhost.

Podsumowanie

Jak widać lokalne rozpoczęcie pracy z tym system nie jest trudne. Wystarczy kilka informacji zawartych w dokumentacji BatFlat'a, i trochę wiedzy na temat interpretera PHP oraz serwera Apache2.

Jakie są Twoje doświadczenia związane z uruchomieniem świeżej kopii BatFlat'a? Podziel się swoim zdaniem w komentarzu pod wpisem.