Advertisement
Guest User

lamp

a guest
Jun 16th, 2019
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.81 KB | None | 0 0
  1. Serwer WWW
  2.  
  3. -------------
  4. ### Instalacja LAMP
  5.  
  6. #https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-lamp-on-debian-jessie/ &
  7. https://www.howtoforge.com/tutorial/install-wordpress-on-lamp-in-debian-9/
  8.  
  9. # Aktualizacja systemu.
  10. apt-get update
  11. apt-get upgrade
  12. apt-get dist-upgrade
  13.  
  14. Różne przydatne narzędzia:
  15. apt install net-tools sudo wget curl bash-completion
  16.  
  17. Procedura A:
  18. =============
  19. # Apache
  20. apt-get -y install apache2
  21.  
  22. #PHP
  23. apt-get -y install libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc
  24.  
  25. #MariaDB
  26. apt-get -y install php7.0-mysql mariadb-server mariadb-client
  27.  
  28. Konfiguracja i weryfikacja:
  29. ----------------------------
  30. systemctl start mariadb
  31.  
  32. mysql_secure_installation
  33. #Na wszystkie pytania odpowiedzieć twierdząco (Y).
  34.  
  35. #Zabezpieczenie dostepu:
  36. mysql -u root
  37. # środowisku sql
  38. use mysql;
  39. update user set plugin='' where User='root';
  40. flush privileges;
  41. quit
  42. #teraz powinien być błąd
  43. #ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  44. #przy próbe dostępu komendą
  45. mysql -u root
  46.  
  47. #Weryfikacja funcjonowania Apache i MariaDB
  48. netstat -tlp| egrep 'http|mysql'
  49.  
  50. #Weryfikacja PHP
  51. echo '<?php phpinfo(); ?>' > /var/www/html/info.php
  52. http://localhost/info.php
  53.  
  54. # phpMyAdmin
  55. apt-get -y install phpmyadmin
  56. # W oknach dialogowych odpowiadamy jak poniżej (odpowiedź nawigujemy tabulacją, strzałkami, a zaznaczamy spacją):
  57. #Web server to reconfigure automatically: <-- apache2 (Uwaga: zaznaczyć opcję spacją - musi pojawić się znak "*")
  58. #Configure database for phpmyadmin with dbconfig-common? <-- No
  59.  
  60. # Weryfikacja poprawności
  61. http://localhost
  62. http://localhost/phpmyadmin
  63. =============
  64. Koniec procedury A
  65.  
  66. Procedura B ("na skróty" - niezbędne dodatkowe składniki są instalowane jako zależności pomiędzy pakietami)
  67. =============
  68. apt-get -y install apache2 mariadb-server phpmyadmin wordpress
  69. #Wykonać konfigurację i weryfikację usług jak w Procedurze A
  70. #Następnie, konfiguracja samego wordpressa instalowanego z pakietu instalacyjnego, która jest opisana na:
  71. #https://wiki.debian.org/WordPress
  72. =========================================
  73. # APACHE
  74.  
  75. ### Zatrzymywanie i uruchamianie apache, itp.
  76.  
  77. # Demon apache nazywa się apache2
  78.  
  79. # Uruchamianie
  80. systemctl start apache2.service
  81. # Zatrzymywanie
  82. systemctl stop apache2.service
  83. # Restart
  84. systemctl restart apache2.service
  85.  
  86. # Konfiguracja uruchomienia automatycznego
  87. systemctl enable apache2.service
  88. systemctl disable apache2.service
  89.  
  90. -------------
  91. ### Pliki konfiguracyjne
  92.  
  93. # Główny plik konfiguracyjny
  94. /etc/apache2/apache2.conf
  95. # Dodatkowe pliki konfiguracyjne w podfolderach folderu
  96. /etc/apache2/
  97.  
  98. # Katalog z logami
  99. /var/log/apache2/
  100.  
  101. -------------
  102. ### Kolejność wczytywania plików
  103. # W jakim pliku jest zdefiniowana zmienna DirectoryIndex?
  104. /etc/apache2/mods-enabled/dir.conf
  105.  
  106. -------------
  107. ### Serwer wirtualny na innym porcie
  108.  
  109. # Załóż katalog /var/www/html8080 i załóż w nim witrynę (stronę WEB)  w pliku index.html:
  110. -------------
  111. <!doctype html>
  112. <html>
  113.     <head>
  114.         <meta charset="UTF-8">
  115.         <title>Tytuł</title>
  116.     </head>
  117.     <body>
  118.         Strona w katalogu /var/www/html8080
  119.     </body>
  120. </html>
  121. -------------
  122. # a następnie w folderze /etc/apache2/sites-available
  123. # utwórz plik html8080.conf o zawartości:
  124. -------------
  125. Listen 8080
  126. <VirtualHost 127.0.0.1:8080>
  127.   DocumentRoot /var/www/html8080
  128. </VirtualHost>
  129. -------------
  130.  
  131. # Włącz serwer wirtualny poleceniem:
  132. a2ensite html8080
  133. # Przeładuj (reload) serwer apache i przetestuj serwer łącząc się z adresem:
  134. service apache2 reload
  135. # Otwórz strone:
  136. http://127.0.0.1:8080/
  137. # Wyłączenie i usunięcie serwera wirtualnego
  138. a2dissite html8080
  139. systemctl reload apache2
  140. rm /etc/apache2/sites-available/html8080.conf
  141.  
  142. ------------
  143. ### Alias witryny
  144.  
  145. #Utworzony zostanie alias do katalogu /var/www/html8080
  146. # W folderze /etc/apache2/sites-available utwórz plik o nazwie "alias.conf" o zawartości:
  147. ------------
  148. alias /aliaswitryny /var/www/html8080
  149. <Directory /var/www/html8080>
  150.   Order allow,deny
  151.   Allow from all
  152. </Directory>
  153. ------------
  154.  
  155. # Włącz serwer wirtualny poleceniem:
  156. a2ensite alias
  157. #Przeładuj (reload) serwer apache i przetestuj serwer łącząc się z adresem
  158. service apache2 reload
  159. #Otwórz strone:
  160. http://127.0.0.1/aliaswitryny
  161.  
  162. ------------
  163. ### Uwierzytelnianie dla strony dostępnej przez alias.
  164.  
  165. #Przejdź do katalogu /var i tam wydaj polecenie utworzenia konta z hasłem:
  166. cd /var
  167. htpasswd -c user.pass kowalski
  168.  
  169. #(kolejnych użytkowników bez „-c” - create - utwórz)
  170.  
  171. #Otwórz plik alias.conf i doprowadź do następującej postaci:
  172. gedit /etc/apache2/sites-available/alias.conf &
  173. --------------
  174. alias /aliaswitryny /var/www/html8080
  175. <Directory /var/www/html8080>
  176.   Satisfy All
  177.   AuthType Basic
  178.   AuthName Test
  179.   AuthUserFile /var/user.pass
  180.   Require valid-user
  181.  
  182.   Order allow,deny
  183.   Allow from all
  184. </Directory>
  185. --------------
  186.  
  187. # Przeładuj (reload) serwer apache
  188. service apache2 reload
  189. # i przetestuj stronę
  190. http://127.0.0.1/aliaswitryny
  191. # !!! Uwaga!!!: Proszę nie zapamiętywać hasła w przeglądarce.
  192.  
  193. # !!! Uwaga!!!: Przekazywanie hasła w nieszyfrowanym połaczeniu jest bardzo złym pomysłem.
  194. # Dlatego nastepny przykład pokazuje jak skonfigurować połacznie SSL.
  195.  
  196. --------------
  197. ### SSL
  198. # Wersja bardzo uproszczona.
  199. # Certfikat nie został potwierdzony w zaufanym centrum certfikacyjnym.
  200. # Przegladarki będą zgłaszały ostrzeżenia o niezaufanym wystawcy certyfikatu, lub podobne.
  201.  
  202. ### Dodaj obsługę SSL komendami:
  203. a2ensite default-ssl
  204. a2enmod ssl
  205. systemctl restart apache2
  206.  
  207. # Przetestuj działanie serwera WWW (protokół https).
  208. https://127.0.0.1/aliaswitryny
  209. # !!! Uwaga!!!: Proszę nie dodawać wyjatku o certyfikacie przeglądarce na stałe.
  210.  
  211. # W obecnej konfiguracji można ciągle jednak uzyć połaczenia niszyfrowanego.
  212. # Procedura ponizej wymusza SSL.
  213. # Edytuj alias.conf:
  214. --------------
  215. alias /aliaswitryny /var/www/html8080
  216. <Directory /var/www/html8080>
  217.   SSLRequireSSL
  218.  
  219.   Satisfy All
  220.   AuthType Basic
  221.   AuthName Test
  222.   AuthUserFile /var/user.pass
  223.   Require valid-user
  224.   Order allow,deny
  225.   Allow from all
  226. </Directory>
  227. --------------
  228. # i wydaj polecenie
  229. systemctl restart apache2
  230. # Uwaga: Dla witryny w środowisku produkcyjnych (nie na laboratorium), trzeba wczesniej wygenerować prawidłowy certyfikat i odpowiednio go instalować!!! Chodzi o zgodność nazw w DNS, itp.
  231.  
  232. # Przetestuj (uwaga na pozostałości w cache przeglądarki):
  233. http://127.0.0.1/aliaswitryny
  234. https://127.0.0.1/aliaswitryny
  235.  
  236. -----------
  237. ### Zakończenie
  238.  
  239. # Wydaj polecenia (o ile nie zrobiono wcześniej)
  240. a2dissite html8080
  241. a2dissite alias
  242. a2dissite default-ssl
  243. a2dismod ssl
  244.  
  245. #Usuń utworzone przez Ciebie pliki w katalogu /etc/apache2/sites-available: html8080.conf i alias.conf
  246. rm /etc/apache2/sites-available/html8080.conf
  247. rm /etc/apache2/sites-available/alias.conf
  248.  
  249. #Usuń plik /var/user.pass, katalog /var/www/html8080 oraz info.php:
  250. rm /var/user.pass
  251. rm /var/www/html/info.php
  252. rm -R /var/www/html8080
  253.  
  254. # Przeładuj serwer apache i sprawdź jego funkcjonowanie.
  255. systemctl restart apache2
  256. =========================================
  257. Wordpress
  258. #Zainstalowany zostanie w podkatalogu witryny głównej o nazwie "wordress".
  259.  
  260. #Utworzenie bazy danych dla Wordpress
  261. mysql -u root -p
  262.  
  263. CREATE DATABASE wordpress;
  264. GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
  265. FLUSH PRIVILEGES;
  266.  
  267. #Powyższe można też wykonac przy pomocy phpMyAdmin
  268.  
  269. #Pobranie Wordpress
  270. cd /var/www/html
  271. wget http://wordpress.org/latest.tar.gz
  272. tar -xzf latest.tar.gz
  273. chown -R www-data:www-data /var/www/html/wordpress
  274. ls -al /var/www/html/wordpress
  275.  
  276. #Otwórz http://localhost/wordpress i wykonaj procedury instalacyjne Wordpress'a
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement