LAMP

Fedora 22, 23 – LAMP (Linux Apache MySQL PHP) + wordpress instalacja cz. 1
1. W terminalu wpisujemy „yum dnf install httpd php php-{pdo,mysql,gd} mysql mysql-server”.

2. Następnie uruchamiamy serwer poleceniem systemctl start mysqld mariadb, poźniej wpisujemy polecenie systemctl enable mysql mariadb – jeśli chcemy włączyć uruchamianie z systemem.

3. Teraz uruchamiamy httpd podobnie jak w pkt. 2

4. Uruchomić /usr/bin/mysql_secure_installation i odpowiedzieć na wszystkie pytania

5. Edytujemy plik /etc/httpd/conf/httpd.conf znajdujemy sekcję i dopisujemy w linii „DirectoryIndex” index.php

DirectoryIndex index.php index.html

6. W pliku /etc/php.ini w pozycji „post_max_size” domyślnie 8MB i w „upload_max_filesize” domyślnie 2MB zwiększamy rozmiar w zależności od potrzeb.

7. Teraz kolej na instalację „phpmyadmin”. Następnie uruchamiamy przeglądarkę w pasek adresu należy wpisać „localhost/phpmyadmin” logujemy się na podane w pkt. 4 dane,

8. Sciągamy paczkę wordpressa edytujemy zgodnie z instrukcją (czyli wpisujemy nazwę bazy danych, nazwę użytkownik, hasło, generujemy klucze) plik „wp-config-sample.php” zapisujemy jako „wp-config.php” i wysyłamy do /var/www/html

9. W przeglądarce np. firefox wpisujemy „localhost”, gdyby nie została uruchomiona instalacja wordpressa (tak jak było u mnie) to trzeba zaglądnąć do komuniktów (logów) SELinuxa. Gdybym nie wykonał pkt. 5, to prawdopodobnie nie byłoby komunikatu SELinuxa.

10. Instalacja wordpressa uruchomiła się po wpisaniu „setsebool -P httpd_read_user_content 1”.
Opcja -P czyni wpis jako domyślny. Od Fedory 22 program „yum” zastąpiono programem dnf

Fedora 22, 23 – LAMP (Linux Apache MySQL PHP) + wordpress instalacja cz. 2
Dostępne informacje – a jest ich dużo – o instalacji wordpressa, php i mysql, nie obejmują szerszego spojrzenia na problemy, które mogą pojawić się przy i po instalacji. Te dotyczące braku praw zapisu w katalogu w którym jest zainstalowany wordpress są tylko jednym z wielu problemów m. in.:

1. Zmiana typu chmod 777, 766, 755 całych katalogów i plików wordpressa nic nie daje,

2. Pojawia się okno konfiguracji ftp, a ja chcę zaktualizować wtyczkę, bądź motyw,

3.
Uzupełnienie pliku wp-config.php zgodnie z poradą na stronie iworks.pl (http://iworks.pl/2009/12/17/jak-wpisac-dane-ftpssh-w-wordpress/) nie daje efektów,

4. Nie można załadować za pomocą menu wordpressa żadnego pliku do biblioteki,

5. Błędy zapisu do bazy danych po uruchomieniu phpmyadmin-a, pomimo ustawienia prawidłowych przywilejów,

6. Dopiero po wykonaniu instrukcji z cz. 1 szczególnie pkt. 5 i 10, dotarło do mnie, że zapis blokuje SELinux, a nadanie kontesktu „httpd_read_user_content ” to mało.

7. Aby rozwiązać problem trzeba użyć m. in. takich modyfikacji SELinuxa
# semanage fcontext -a -t public_content_rw_t /var/www/html/wp-content
# restorecon -R -v /var/www/html/wp-content
# setsebool -P allow_httpd_anon_write 1
Uwaga opcja -P ustawia wpis jako domyślny.

Znalazłem przypadek w którym ustawienie wszystkich powyższych modyfikacji nie przyniosło rezultatu. Rozwiązaniem jest punkt poniżej.

8. Do pliku wp-config.php należy wpisać „define(’FS_METHOD’,’direct’);”

W zależności od stanu w jakim znajduje OS tj. nadanych uprawnień i przywilejów, może okazać się, że nie wymieniłem wszystkich możliwych przypadków, w których wordpress nie działa tak jak tego chcemy. Możliwe jest również to, że nie będą potrzebne wszystkie opcje (lub żadna) tutaj wymienione.

Ubuntu 16.04 LTS instalacja LAMP (Linux Apache MySQL PHP)
1 krok instalujemy pakiety:
sudo apt-get install apache2 mysql-server php libapache2-mod-php php-mcrypt (usnięty od wersji 7.2 php) php-mysql
2 krok
wpisujemy hasło do mysql
3 krok restart serwera
sudo systemctl restart apache2
4 krok
po wpisaniu localhost w przeglądarkę ukaże się strona

5 krok
jeśli jest potrzebny instalacja phpmyadmin
sudo apt-get install phpmyadmin php-mbstring php-gettext

Dziękuję koledze Arturowi za sugestię o czytaniu logów 🙂