LAMP (Linux, Apache, MySQL/MariaDB un PHP/PhpMyAdmin) instalēšana Arch Linux
Arch Linux nodrošina elastīgu vismodernākās sistēmas vidi un ir spēcīgākais, vispiemērotākais risinājums tīmekļa lietojumprogrammu izstrādei nelielās nekritiskās sistēmās, jo tas ir pilnīgs atvērtais avots un nodrošina pēdējos atjauninātos laidienus kodolos un tīmekļa programmatūrā serveri un datu bāzes.
Šīs apmācības galvenā darbības joma ir sniegt jums pilnīgas instrukcijas, kas pa solim pa solim, kas galu galā novedīs pie vienas no Web izstrādē visbiežāk izmantotās programmatūras kombinācijas instalēšanas: LAMP (Linux, Apache, MySQL/MariaDB un PHP/PhpMyAdmin) un tas parādīs jums dažas jaukas funkcijas (ātrus un netīrus Bash skriptus), kuru nav Arch Linux sistēmā, bet kas var atvieglot darbu, veidojot vairākus virtuālos saimniekus , ģenerējiet SSL sertifikātus un atslēgas , kas nepieciešami drošiem HTTS darījumiem.
- Iepriekšējais Arch Linux instalēšanas process - izlaidiet pēdējo daļu ar DHCP.
- Iepriekšēja LEMP instalēšana Arch Linux - tikai tā daļa, kurā konfigurēta Statiskā IP adrese un attālā SSH piekļuve .
1. darbība: instalējiet pamata programmatūras LAMP
1. Pēc minimālas sistēmas instalēšanas ar statisku IP adresi un attālu piekļuvi sistēmai, izmantojot SSH , jauniniet savu Arch Linux lodziņu, izmantojot pacman utilītu.
$ sudo pacman -Syu
2. Kad jaunināšanas process pabeidz instalēt LAMP gabalos, vispirms instalējiet Apache Web Server un sāciet/pārbaudiet katru servera procesa dēmonu.
$ sudo pacman -S apache $ sudo systemctl start httpd $ sudo systemctl status httpd
3. Instalējiet PHP dinamisko servera puses skriptu valodu un tās Apache moduli.
$ sudo pacman -S php php-apache
4. Pēdējā solī instalējiet datu bāzi MySQL , izvēlieties 1 ( MariaDB ) kopienas datu bāzes dakšiņu, pēc tam sāciet un pārbaudiet dēmona statusu.
$ sudo pacman -S mysql $ sudo systemctl start mysqld $ sudo systemctl status mysqld
Tagad jums ir instalēta LAMP pamata programmatūra un līdz šim sākta ar noklusējuma konfigurācijām.
2. solis: Droša MySQL datu bāze
5. Nākamais solis ir aizsargāt MySQL datu bāzi, nosakot paroli root kontam, noņemot anonīmu lietotāju kontus, noņemot testa datu bāzi un neatļaujot attālo pieteikšanos lietotāja saknei (nospiediet [ Enter ] atslēga saknes konta pašreizējai parolei un uz visiem drošības jautājumiem atbildiet ar Jā .
$ sudo mysql_secure_installation
6. Pārbaudiet MySQL datu bāzes savienojamību, izpildot šādu komandu, pēc tam atstājiet datu bāzes čaulu ar quit vai exit paziņojumu.
$ mysql -u root -p
3. solis: Modificējiet Apache galveno konfigurācijas failu
7. Šīs konfigurācijas lielākoties ir saistītas ar Apache Web Server , lai nodrošinātu dinamisku saskarni Virtuālajam mitinājumam ar PHP skriptu valodu, SSL vai ne-SSL virtuālajiem saimniekiem un var var izdarīt, modificējot httpd servisa failu konfigurācijas.
Vispirms atveriet galveno Apache failu konfigurāciju, izmantojot iecienīto teksta redaktoru.
$ sudo nano /etc/httpd/conf/httpd.conf
Faila pašā apakšā pievienojiet šādas divas rindas.
IncludeOptional conf/sites-enabled/*.conf IncludeOptional conf/mods-enabled/*.conf
Šeit Iekļaut paziņojumu loma ir pateikt Apache, ka turpmāk tai jālasa turpmākas konfigurācijas no visiem failiem, kas atrodas /etc/httpd/conf/sites-enabled/ ( virtuālajam mitinājumam ) un /etc/httpd/conf/mods-enabled/ ( iespējota servera moduļiem) sistēmas ceļi, kas beidzas ar .conf paplašinājums.
8. Pēc tam, kad Apache ir instruēts ar šīm divām direktīvām, izveidojiet nepieciešamos sistēmas direktorijus, kas izdod šādas komandas.
$ sudo mkdir /etc/httpd/conf/sites-available $ sudo mkdir /etc/httpd/conf/sites-enabled $ sudo mkdir /etc/httpd/conf/mods-enabled
Ceļš Vietnes pieejamas satur visus virtuālo saimnieku konfigurācijas failus, kas nav aktivizēti Apache, bet nākamais Bash skripts izmantos šo direktoriju, lai izveidotu saites un iespējotu tur atrodamās vietnes.
4. solis: izveidojiet a2eniste un a2diste Apache komandas
9. Tagad ir pienācis laiks izveidot a2ensite un a2dissite Apache skriptus, kas kalpos kā komandas, lai iespējotu vai atspējotu virtuālā resursdatora konfigurācijas failu. Ierakstiet komandu cd , lai atgrieztos lietotāja $HOME ceļā, un izveidojiet bash a2eniste un a2dissite skriptus, izmantojot iecienītākais redaktors.
$ sudo nano a2ensite
Pievienojiet šim failam šādu saturu.
#!/bin/bash if test -d /etc/httpd/conf/sites-available && test -d /etc/httpd/conf/sites-enabled ; then echo "-------------------------------" else mkdir /etc/httpd/conf/sites-available mkdir /etc/httpd/conf/sites-enabled fi avail=/etc/httpd/conf/sites-available/$1.conf enabled=/etc/httpd/conf/sites-enabled site=`ls /etc/httpd/conf/sites-available/` if [ "$#" != "1" ]; then echo "Use script: n2ensite virtual_site" echo -e "\nAvailable virtual hosts:\n$site" exit 0 else if test -e $avail; then sudo ln -s $avail $enabled else echo -e "$avail virtual host does not exist! Please create one!\n$site" exit 0 fi if test -e $enabled/$1.conf; then echo "Success!! Now restart Apache server: sudo systemctl restart httpd" else echo -e "Virtual host $avail does not exist!\nPlease see avail virtual hosts:\n$site" exit 0 fi fi
Tagad izveidojiet a2dissite bash skripta failu.
$ sudo nano a2dissite
Pievienojiet šo saturu.
#!/bin/bash avail=/etc/httpd/conf/sites-enabled/$1.conf enabled=/etc/httpd/conf/sites-enabled site=`ls /etc/httpd/conf/sites-enabled` if [ "$#" != "1" ]; then echo "Use script: n2dissite virtual_site" echo -e "\nAvailable virtual hosts: \n$site" exit 0 else if test -e $avail; then sudo rm $avail else echo -e "$avail virtual host does not exist! Exiting" exit 0 fi if test -e $enabled/$1.conf; then echo "Error!! Could not remove $avail virtual host!" else echo -e "Success! $avail has been removed!\nsudo systemctl restart httpd" exit 0 fi fi
10. Pēc failu izveides piešķiriet izpildes atļaujas un kopējiet tās izpildāmajā direktorijā $PATH , lai tās būtu pieejamas visā sistēmā.
$ sudo chmod +x a2ensite a2dissite $ sudo cp a2ensite a2dissite /usr/local/bin/
5. darbība: izveidojiet virtuālos resursdatorus Apache
11. Virtuālā resursdatora noklusējuma konfigurācijas failu Apache tīmekļa serverim Arch Linux nodrošina fails httpd-vhosts.conf , kas atrodas /etc/httpd/conf/extra/ ceļā, bet ja jums ir sistēma, kas izmanto daudz virtuālo saimnieku, var būt ļoti grūti izsekot, kāda vietne ir aktivizēta vai nē. Ja vēlaties atspējot vietni, jums ir jāpievieno komentāri vai jāizdzēš visas tās direktīvas, un tā var būt sarežģīta misija, ja jūsu sistēma nodrošina daudz vietņu un jūsu vietnei ir vairāk konfigurācijas direktīvu.
Ceļu pieejamās vietnes un vietnēm iespējotas izmantošana ievērojami atvieglo vietņu iespējošanu vai atspējošanu un arī saglabā visi jūsu vietņu konfigurācijas faili, pat ja tie ir aktivizēti vai nē.
Nākamajā solī mēs izveidosim pirmo virtuālo resursdatoru, kas norāda uz noklusējuma localhost ar noklusējuma DocumentRoot ceļu vietņu failu apkalpošanai (/srv/http .
$ sudo nano /etc/httpd/conf/sites-available/localhost.conf
Pievienojiet šeit šādas Apache direktīvas.
<VirtualHost *:80> DocumentRoot "/srv/http" ServerName localhost ServerAdmin [email ErrorLog "/var/log/httpd/localhost-error_log" TransferLog "/var/log/httpd/localhost-access_log" <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order deny,allow Allow from all Require all granted </Directory> </VirtualHost>
Šeit vissvarīgākie apgalvojumi ir Ports un Servera nosaukums , kas uzdod Apache atvērt tīkla savienojumu portā 80 un novirzīt visus vaicājumus ar localhost nosaukumu uz apkalpot failus, kas atrodas /srv/http/ ceļā.
12. Kad vietējā hosta fails ir izveidots, aktivizējiet to un restartējiet httpd dēmonu, lai skatītu izmaiņas.
$ sudo a2ensite localhost $ sudo systemctl restart httpd
13. Pēc tam novirziet pārlūkprogrammu uz http:// localhost , ja to palaižat no Arch sistēmas, vai http:// Arch_IP , ja izmantojat attālo sistēmu.
6. darbība: iespējojiet SSL ar virtuālo mitināšanu LAMP
SSL ( Secure Sockets Layer ) ir protokols, kas paredzēts HTTP savienojumu šifrēšanai tīklos vai internetā, kas liek datu plūsmu pārsūtīt pa drošu kanālu, izmantojot simetriskas/asimetriskas kriptogrāfijas atslēgas. un to Arch Arch nodrošina pakete OpenSSL .
14. Pēc noklusējuma SSL modulis nav iespējots Apache Arch Linux sistēmā, un to var aktivizēt, nekomentējot moduli mod_ssl.so no galvenā konfigurācijas faila httpd.conf un Iekļaut httpd-ssl.conf fails, kas atrodas papildu httpd ceļā.
Bet, lai vienkāršotu lietas, mēs izveidosim jaunu moduļa failu SSL ceļā, kurā iespējoti modi un atstāsim galveno Apache konfigurācijas failu neskartu. Izveidojiet šo failu SSL modulim un pievienojiet zemāk esošo saturu.
$ sudo nano /etc/httpd/conf/mods-enabled/ssl.conf
Pievienojiet šo saturu.
LoadModule ssl_module modules/mod_ssl.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so Listen 443 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/run/httpd/ssl_scache(512000)" SSLSessionCacheTimeout 300
15. Tagad izveidojiet virtuālā resursdatora failu, kas norāda uz to pašu vietējā mitekļa nosaukumu, bet šoreiz izmantojot SSL servera konfigurācijas, un nedaudz mainiet tā nosaukumu, lai atgādinātu, ka tas nozīmē vietējo hostu ar SSL.
$ sudo nano /etc/httpd/conf/sites-available/localhost-ssl.conf
Pievienojiet šim failam šādu saturu.
<VirtualHost *:443> DocumentRoot "/srv/http" ServerName localhost ServerAdmin [email ErrorLog "/var/log/httpd/localhost-ssl-error_log" TransferLog "/var/log/httpd/localhost-ssl-access_log" SSLEngine on SSLCertificateFile "/etc/httpd/conf/ssl/localhost.crt" SSLCertificateKeyFile "/etc/httpd/conf/ssl/localhost.key" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/srv/http/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/httpd/ssl_request_log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order deny,allow Allow from all Require all granted </Directory> </VirtualHost>
Papildus Portu un ServerName direktīvām šeit ir citas svarīgas direktīvas, kas norāda uz SSL sertifikāta failu un SSL atslēgu failu, kas vēl nav izveidoti, tāpēc nepārstartējiet Apache Web Server, pretējā gadījumā jūs saņemsiet dažas kļūdas.
16. Lai izveidotu nepieciešamo SSL sertifikāta failu un Atslēgas, instalējiet paketi OpenSSL , izsniedzot tālāk norādīto komandu.
$ sudo pacman -S openssl
17. Pēc tam izveidojiet šādu skriptu Bash , kas automātiski izveido un saglabā visus jūsu Apache sertifikātus un taustiņus mapē /etc/httpd/conf/ssl/ sistēmas ceļš.
$ sudo nano apache_gen_ssl
Pievienojiet šādu faila saturu, pēc tam saglabājiet to un padariet to izpildāmu.
#!/bin/bash mkdir /etc/httpd/conf/ssl cd /etc/httpd/conf/ssl echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Nginx SSL certificate!" read cert openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key chmod 600 $cert.key openssl req -new -key $cert.key -out $cert.csr openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt echo -e " The certificate "$cert" has been generated!\nPlease link it to Apache SSL available website!" ls -all /etc/httpd/conf/ssl exit 0
$ sudo chmod +x apache_gen_ssl
Ja vēlaties, lai skripts būtu pieejams visā sistēmā, nokopējiet to izpildāmajā failā $PATH .
$ sudo cp /apache_gen_ssl /usr/local/bin/
18. Tagad ģenerējiet savu sertifikātu un atslēgas , palaižot skriptu. Norādiet savas SSL opcijas un neaizmirstiet sertifikāta nosaukumu un Parastais nosaukums , kas atbilst jūsu oficiālajam domēnam ( FQDN ).
$ sudo ./apache_gen_ssl
Pēc sertifikāta un atslēgu izveides neaizmirstiet modificēt SSL virtuālā resursdatora sertifikātu un atslēgu konfigurācijas, lai tās atbilstu šī sertifikāta nosaukumam.
19. Pēdējais solis ir nesen aktivizēt SSL virtuālo resursdatoru un restartēt serveri, lai lietotu konfigurācijas.
$ sudo a2ensite localhost-ssl $ sudo systemctl restart httpd
Tieši tā! Lai to pārbaudītu, atveriet pārlūku un pievienojiet Arch IP vietrādim URL, izmantojot HTTPS protokolu: https:/localhost vai https:/system_IP .
7. darbība: iespējojiet PHP Apache
20. Pēc noklusējuma Apache HTML statisko failu saturu apkalpo tikai Arch Linux bez dinamisko skriptu valodu atbalsta. Lai aktivizētu PHP, vispirms atveriet Apache galveno konfigurācijas failu, pēc tam meklējiet un noņemiet komentāru no šī LoadModule paziņojuma ( php-apache Arch Linux nedarbojas ar mod_mpm_event ).
$ sudo nano /etc/httpd/conf/httpd.conf
Izmantojot [Ctrl] + [w] , meklējiet un komentējiet nākamo rindiņu, lai tā izskatītos.
#LoadModule mpm_event_module modules/mod_mpm_event.so
21. Pēc tam izveidojiet jaunu PHP moduļa failu ceļā ar modifikācijām ar šādu saturu.
$ sudo nano /etc/httpd/conf/mods-enabled/php.conf
Pievienojiet tieši šādu saturu (jums jāizmanto mod_mpm_prefork ).
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule php5_module modules/libphp5.so Include conf/extra/php5_module.conf
22. Lai pārbaudītu iestatījumu, izveidojiet PHP failu ar nosaukumu info.php savā DocumnetRoot (/srv/http/), pēc tam restartējiet Apache un norādiet pārlūkprogrammai uz info .php fails: https: //localhost/info.php .
<?php phpinfo(); ?>
$ sudo systemctl restart httpd
Tieši tā! Ja viss izskatās kā iepriekš redzamais attēls, tagad Apache ir iespējota PHP dinamiskā servera puses skriptu valoda, un tagad varat izveidot vietnes, izmantojot, piemēram, OpenPort CMS, piemēram, WordPress .
Ja vēlaties pārbaudīt Apache sintakses konfigurācijas un redzēt ielādēto moduļu sarakstu, nepārstartējot httpdemon, palaidiet šīs komandas.
$ sudo apachectl configtest $ sudo apachectl -M
8. darbība: instalējiet un konfigurējiet PhpMyAdmin
23. Ja neapgūstat MySQL komandrindu un vēlaties vienkāršu attālo piekļuvi MySQL datu bāzei, izmantojot tīmekļa saskarni, arhīva lodziņā ir jāinstalē PhpMyAdmin pakete.
$ sudo pacman -S phpmyadmin php-mcrypt
24. Pēc pakotņu instalēšanas jums jāiespējo daži PHP paplašinājumi ( mysqli.so , mcrypt.so - iekšējai autentifikācijai), kā arī varat iespējot citus moduļi, kas nepieciešami nākotnes CMS platformām, piemēram, openssl.so , imap.so vai iconv.so utt.
$ sudo nano /etc/php/php.ini
Atrodiet un komentējiet iepriekš minētos paplašinājumus.
extension=mcrypt.so extension=mssql.so extension=mysqli.so extension=openssl.so extension=iconv.so extension=imap.so extension=zip.so extension=bz2.so
Tajā pašā failā meklējiet un atrodiet norādi open_basedir un pievienojiet sistēmas ceļu PhpMyAdmin (/etc/webapps/ un /usr/share/webapps/), lai pārliecinātos, ka PHP var piekļūt failiem un lasīt zem šiem direktorijiem (ja arī jūs maināt Virtuālo saimnieku DocumentRoot ceļu no /srv/http/ uz citu vietu, jums arī šeit jāpievieno jaunais ceļš ).
25. Pēdējā lieta, kas jums jādara, lai piekļūtu PhpMyAdmin tīmekļa saskarnei, ir pievienot virtuālos resursdatoros PhpMyAdmin Apache paziņojumus. Drošības pasākums nodrošinās, ka PhpMyAdmin tīmekļa saskarnei var piekļūt tikai no localhost (vai sistēmas IP adreses), izmantojot HTTPS protokolu, nevis no citiem dažādiem virtuālajiem saimniekiem. Tātad, atveriet savu localhost-ssl.conf Apache failu un apakšā pirms pēdējās pievienojiet šo saturu.
$ sudo nano /etc/httpd/conf/sites-enabled/localhost-ssl.conf
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin" <Directory "/usr/share/webapps/phpMyAdmin"> DirectoryIndex index.html index.php AllowOverride All Options FollowSymlinks Require all granted </Directory>
26. Pēc tam restartējiet Apache dēmonu un norādiet pārlūkprogrammai uz šo adresi, un jums vajadzētu būt iespējai piekļūt savai PhpMyAdmin tīmekļa saskarnei: https:/localhost/phpmyadmin vai https:/system_IP/phpmyadmin .
27. Ja pēc pieteikšanās PhpMyAdmin tiek parādīta apakšējā kļūda saistībā ar blowfish_secret , atveriet un rediģējiet failu /etc/webapps/phpmyadmin/config.inc.php un ievietojiet nejaušu virkni, piemēram, šo paziņojumu, pēc tam atsvaidziniet lapu.
$cfg['blowfish_secret'] = ‘{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V’ ;
9. solis: iespējojiet LAMP System Wide
28. Ja vēlaties, lai LAMP kaudze tiktu automātiski startēta pēc sistēmas pārstartēšanas, izpildiet šādas komandas.
$ sudo systemctl enable httpd mysqld
Šie ir daži galvenie LAMP konfigurācijas iestatījumi, kas nepieciešami, lai Arch Linux sistēmu pārveidotu par vienkāršu, bet spēcīgu, ātru un stabilu tīmekļa platformu ar visjaunāko serveru programmatūru maziem lietotājiem -kritiska vide, bet, ja jūs kļūstat spītīgs un joprojām vēlaties to izmantot lielā ražošanas vidē, jums vajadzētu apbruņoties ar lielu pacietību un pievērst papildu uzmanību pakešu atjauninājumiem un regulāri izveidot sistēmas dublējuma attēlus, lai ātri atjaunotu sistēmu. sistēmas kļūmes.