Ten poradnik pokazuje, jak zainstalować na Manjaro zestaw LAMP (czyli Apache, MariaDB, PHP) na Manjaro Linux. Testowane na Manjaro 17.0 Gellivera GNOME oraz KDE.
1. Aktualizacja systemu
Uruchom poniższe polecenie, żeby zaktualizować system:
sudo pacman -Syu
2. Instalacja Apache
Po aktualizacji systemu, zainstaluj Apache za pomocą komendy:
sudo pacman -S apache
Następnie otwórz do edycji plik /etc/httpd/conf/httpd.conf:
sudo nano /etc/httpd/conf/httpd.conf
Znajdź i zakomentuj(jeśli nie jest zakomentowana) poniższą linię w pliku konfiguracyjnym:
[...] # LoadModule unique_id_module modules/mod_unique_id.so [...]
a następnie zapisz i zamknij plik.
Żeby uruchomić usługę Apache, wykonaj polecenia:
sudo systemctl enable httpd sudo systemctl restart httpd
Żeby zweryfikować poprawność działania serwera HTTP, wykonaj polecenie:
sudo systemctl status httpd
Przykładowy efekt działania tego polecenia powinien być mniej więcej taki:
httpd.service - Apache Web Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2016-02-16 13:00:18 IST; 7s ago Main PID: 1067 (httpd) Tasks: 82 (limit: 512) CGroup: /system.slice/httpd.service ├─1067 /usr/bin/httpd -k start -DFOREGROUND ├─1070 /usr/bin/httpd -k start -DFOREGROUND ├─1071 /usr/bin/httpd -k start -DFOREGROUND └─1072 /usr/bin/httpd -k start -DFOREGROUND Feb 16 13:00:18 server systemd[1]: `Started Apache Web Server.` Feb 16 13:00:18 server httpd[1067]: AH00558: httpd: Could not reliably dete...ge Hint: Some lines were ellipsized, use -l to show in full. Apache server is ready to use.
Testowanie Apache
Utwórz w domyślnym podkatalogu Apache (np. /srv/http), plik testowy:
sudo nano /srv/http/index.html
I wklej do niego np. taką zawartość:
<html> <head> <title>To działa !!!</title> </head> <body> <h2>Witam na stronie testowej mojego serwera HTTP...</h2> </body> </html>
A teraz otwórz w przeglądarce adres http://localhost, lub http://127.0.0.0 (przy założeniu, że stawiasz LAMP na lokalnej maszynie…). Efekt powinien być taki:
3. Instalacja bazy danych MariaDB
Uruchom w terminalu polecenie do instalacji bazy danych:
sudo pacman -S mariadb
Ponieważ od 2013 roku w systemach rodziny Arch Linux, MariaDB wdrożona została jako domyślny system bazy danych, zostaniesz poproszony o wybór silnika serwera MySQL: MariaDB lub Percona. Zostaniesz poproszony o potwierdzenie lub wybór:
[root@server ~]# pacman -S mysql :: There are 2 providers available for mysql: :: Repository extra 1) mariadb :: Repository community 2) percona-server Enter a number (default=1): `## Press Enter` resolving dependencies... looking for conflicting packages... Packages (7) boost-libs-1.60.0-2 icu-56.1-2 jemalloc-4.0.4-1libmariadbclient-10.1.11-1 libxml2-2.9.3-1 mariadb-clients-10.1.11-1 mariadb-10.1.11-1 Total Download Size: 30.68 MiB Total Installed Size: 218.10 MiB :: Proceed with installation? [Y/n]
Przed uruchomieniem usługi, musisz wykonać inicjalizację serwera MariaDB:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Teraz możesz przeprowadzić odblokowanie i uruchomienie serwera baz danych:
sudo systemctl enable mysqld sudo systemctl start mysqld
Żeby zweryfikować poprawność działania MariaDB, wpisz polecenie
sudo systemctl status mysqld
Przykładowy efekt na wyjściu:
mysqld.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2016-02-16 13:19:50 IST; 44s ago Process: 1406 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS) Main PID: 1405 (mysqld) Tasks: 26 (limit: 512) CGroup: /system.slice/mysqld.service └─1405 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...a. Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...e. Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...rt Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...19 Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930516817664 [N...ed Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...d. Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...'. Feb 16 13:19:49 server mysqld[1405]: 2016-02-16 13:19:49 139930931222400 [N...s. Feb 16 13:19:49 server mysqld[1405]: Version: '10.1.11-MariaDB-log' socket...er Feb 16 13:19:50 server systemd[1]: `Started MariaDB database server.` Hint: Some lines were ellipsized, use -l to show in full.
Ustalenie hasła root-a dla serwera MySQL
Jak zapewne wiesz, wskazane jest ustawienie hasła dla administratora serwera baz danych. Wykonaj poniższe polecenie:
sudo mysql_secure_installation
przykładowy wynik na wyjściu:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): `## Press Enter` OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] `## Press Enter` New password: `## Enter password` Re-enter new password: `## Re-enter password` Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] `## Press Enter` ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] `## Press Enter` ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] `## Press Enter` - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] `## Press Enter` ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! MariaDB has been installed and ready to use.
4. Instalacja PHP
Aby zainstalować PHP, wykonaj polecenie:
sudo pacman -S php php-apache
Po instalacji, należy moduł PHP w Apache. Aby to zrobić, edytujesz plik /etc/httpd/conf/httpd.conf
:
sudo nano /etc/httpd/conf/httpd.conf
Znajdź poniższą linię i zakomentuj ją (jeśli jest odkomentowana):
[...] #LoadModule mpm_event_module modules/mod_mpm_event.so [...]
oraz odkomentuj, lub dodaj linię:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Potem dodaj na pod spodem:
LoadModule php7_module modules/libphp7.so AddHandler php7-script php Include conf/extra/php7_module.conf
Teraz zapisz i zamknij plik.
Testowanie PHP
Stwórz plik plik test.php
w domyślnym katalogu Apache
sudo nano /srv/http/test.php
wstaw poniższą zawartość:
<?php phpinfo();
Zapisz i zrestartuj usługę httpd:
sudo systemctl restart httpd
Otwórz przeglądarkę i wpisz http://adres-ip/test.php
, powinieneś uzyskać efekt jak na poniższym zrzucie:
5. Instalacja phpMyAdmin
phpMyAdmin jest graficznym narzędziem do administrowania bazami MySQL/MariaDB. Umożliwia tworzenie, edytowanie i kasowanie baz danych.
Aby zainstalować, wykonaj polecenie:
sudo pacman -S phpmyadmin php-mcrypt
A następnie otwórz do edycji plik php.ini
:
sudo nano /etc/php/php.ini
Upewnij się, że poniższe linie nie są zakomentowane:
[...] extension=bz2.so extension=mcrypt.so extension=mysqli.so [...]
Zapisz i zamknij plik.
Następnie utwórz plik konfiguracyjny dla phpMyAdmin:
sudo nano /etc/httpd/conf/extra/phpmyadmin.conf
i dodaj:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin" <Directory "/usr/share/webapps/phpMyAdmin"> DirectoryIndex index.php AllowOverride All Options FollowSymlinks Require all granted </Directory>
Potem otwórz konfigurację Apache:
sudo nano /etc/httpd/conf/httpd.conf
i dodaj na końcu pliku poniższą linię:
Include conf/extra/phpmyadmin.conf
Zapisz i zamknij plik, a następnie zrestartuj usługę httpd:
sudo systemctl restart httpd
Testowanie phpMyAdmin
Otwórz w przeglądarce adres http://adres-IP/phpmyadmin/
Wpisz login i hasło administratora do MySQL/MariaDB.
Po zalogowaniu okienko phpMyAdmin-a powinno wyglądać mniej więcej tak:
Zapewne zobaczysz w dolnej części okna komunikat o błędzie „The configuration file now needs a secret passphrase (blowfish_secret)”. Aby go zlikwidować, otwórz plik konfiguracyjny:
sudo nano /etc/webapps/phpmyadmin/config.inc.php
Znajdź poniższą linię i zmień w niej domyślne sekretne hasło bluefish-a:
$cfg['blowfish_secret'] = '`MyP@$S`'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!$ /**
Następnie zapisz i zamknij plik, oraz zrestartuj Apache:
sudo systemctl restart httpd
Błąd nie powinien już się wyświetlać.
To by było na tyle. Masz już działający LAMP, gotowy do obsługi Twoich stron internetowych.
Powyższy poradnik jest, w mniejszym lub większym stopniu, tłumaczeniem tutoriala z forum Manjaro. Przetestowanym przeze mnie na działającym systemie.
Źródło: https://forum.manjaro.org/t/install-apache-mariadb-php-lamp-2016/1243