Linux Systeembeheer/Webservers: verschil tussen versies

6 bytes toegevoegd ,  7 maanden geleden
Lintfouten: Verouderde HTML-elementen
(Lintfouten: Verouderde HTML-elementen)
 
$ service httpd start
 
Apache automatisch aanzetten bij het opstarten:</br>
$ chkconfig --level 2345 httpd on
 
Firewall configuratie met system-config-firewall-tui ( sudo yum -y install system-config-firewall-tui)</br>
$ system-config-firewall-tui
$ CUSTOMIZE
$ [*] WWW (HTTP)
 
of manueel toevoegen</br>
$ vi /etc/sysconfig/iptables
of
 
Hier voegen we de volgende lijn aan toe om poort 80 open te zetten:(toevoegen in de file na INPUT en voor FORWARD)
</br>
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
 
Herstarten van de firewall om de nieuwe regel te laden:</br>
$ service iptables restart
 
Test door te surfen naar httphttps://192.168.56.101 (dit ip adres kan variëren afhandelijk van uw configuratie, je moet dan met het commando ifconfig opzoeken naar welk adres je moet surfen)
 
=== SSL ===
 
We genereren eerst een private key. Deze wordt geëncrypteerd opgeslagen met het Triple-DES algoritme. Je dient meteen een wachtwoord (passphrase) in te tikken dat je telkens als je de server opstart zal moeten herhalen. Als je dat wil vermijden, kan je de optie '''-des3''' weglaten. Merk op dat dat voor productiesystemen een beveiligingsrisico inhoudt. Als iemand toegang kan krijgen tot het filesysteem, kan die zo je certificaat stelen en een vervalste website opzetten.</br>
$ openssl genrsa -des3 -out server.key 1024
 
Certificate Signing Request (CSR) genereren (geef hier hetzelfde wachtwoord in):</br>
$ openssl req -new -key server.key -out server.csr
 
Geldigheid instellen op 365 dagen:</br>
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
 
Server.key kopiëren om wachtwoord te verwijderen:</br>
$ cp server.key server.key.secure
 
Map maken om .csr bestand in te plaatsen:</br>
$ mkdir /etc/httpd/conf/ssl.csr/
 
Map maken om .crt bestand in te plaatsen:</br>
$ mkdir /etc/httpd/conf/ssl.crt/
 
Map maken om .key en .key.secure bestand in te plaatsen:</br>
$ mkdir /etc/httpd/conf/ssl.key/
 
Verplaatsen van de files naar de overeenkomstige directory:</br>
$ mv server.csr /etc/httpd/conf/ssl.csr/host_domain_tld.csr
$ mv server.crt /etc/httpd/conf/ssl.crt/host_domain_tld.crt
$ mv server.key.secure /etc/httpd/conf/ssl.key/host_domain_tld.key.secure
 
Permissies wijzigen zodat enkel de gebruiker root toegang heeft tot deze mappen:</br>
$ chmod 400 /etc/httpd/conf/ssl.csr/
$ chmod 400 /etc/httpd/conf/ssl.crt/
$ chmod 400 /etc/httpd/conf/ssl.key/
 
Gegevens aanpassen in /etc/httpd/conf.d/ssl.conf:</br>
$ vi /etc/httpd/conf.d/ssl.conf
 
Volgende lijnen aanpassen:</br>
::- Onder Virtual Host deel
::'''<VirtualHost _default_:443> '''wordt''' <VirtualHost *:443></br>'''
::- Onder Server Certificate
::'''SSLCertificateFile /etc/httpd/conf/ssl.crt/host_domain_tld.crt</br>'''
::- Onder Private key
::'''SSLCertificateKeyFile /etc/httpd/conf/ssl.key/host_domain_tld.key</br>'''
 
We openen het bestand /etc/sysconfig/iptables om de firewall te configureren:</br>
$ vi /etc/sysconfig/iptables
 
Hier voegen we de volgende lijn aan toe zodat de clients de SSL poort kunnen bereiken:(toevoegen in de file na INPUT en voor FORWARD)
</br>
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
 
Herstarten van de firewall om de nieuwe regel te laden:</br>
$ /sbin/service iptables restart
 
Apache herstarten:</br>
 
$ /sbin/service httpd restart -> geeft een fout:'''Failed, SSLCertificateFile does not exist or is empty'''
$ chcon user_u:object_r:httpd_config_t:s0 /usr/sbin/httpd
 
Apache herstarten:</br>
$ /sbin/service httpd restart -> werkt nu wel.
 
=== PHP ===
 
Installatie van PHP en PHP-MYSQL:</br>
$ yum -y install php php-mysql php-pear php-gd php-xml
 
Herstarten van Apache:</br>
$ /sbin/service httpd restart
 
Drupal is een bekend Content Management System, ontwikkeld door Dries Buytaert (een Vlaming, trouwens). Drupal is gebaseerd op de LAMP stack en is erg populair voor het snel opzetten van dynamische websites. Veel hostingbedrijven maken er dan ook gebruik van.
 
Aanmaken van een database:</br>
$ mysqladmin –u root –p create drupalDB
 
Inloggen op MySQL:</br>
$ mysql –u root –p
 
Gebruiker mysqlUser volledige toegang geven tot de database, m.a.w. mysqlUser dezelfde rechten als root geven:</br>
>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON druppalDB.* TO ‘mysqlUser’@'localhost' IDENTIFIED BY ‘mysqlPassword’;
>exit
 
Rechten op de map ''/var/www/html'' wijzigen:</br>
$ chown -R linuxUsername /var/www/html
$ chgrp -R apache /var/www/html
 
De huidige directory zetten op <bigspan style="font-size: large;">''/var/www/html''</bigspan>:</br>
$ cd /var/www/html
 
Drupal downloaden:<br/>
$ yum -y install wget
$ wget httphttps://ftp.drupal.org/files/projects/drupal-6.19.tar.gz
 
Files uitpakken:</br>
$ tar -xzvpf drupal-* --strip-components=1
 
Kopiëren van de standaard settings:</br>
$ cp ./sites/default/default.settings.php ./sites/default/settings.php
 
Rechten op de map wijzigen:</br>
$ chgrp -R apache .
$ chown -R apache ./sites/default
Het doel van dit labo is het opzetten van een Drupal server in een virtuele machine. De naam “appliance” in de titel wordt tegenwoordig vaak gebruikt (o.a. door VMWare) voor een virtuele machine met een minimale installatie voor een specifiek doel.
 
# Installeer een minimale versie van (CentOS of Fedora) Linux onder een virtualisatiesysteem naar keuze (vb. Oracle VirtualBox, VMWare Server, Hyper-V, ...). Met minimaal bedoelen we dat enkel en alleen de nodige packages geïnstalleerd worden die nodig zijn voor het uitvoeren van het labo. Een grafische omgeving is bijvoorbeeld niet nodig. Gebruik eventueel de “netinstall” installatie-cd. Bij ''[httphttps://docs.fedoraproject.org/install-guide/f11/nl/html/s1-pkgselection-x86.html Package installation]'' zorg je ervoor dat geen van de voorgestelde opties ("Kantoor en productiviteit", enz) geselecteerd is, en dat onderaan "Nu aanpassen" aangevinkt is. In het volgende scherm ("[httphttps://docs.fedoraproject.org/install-guide/f11/nl/html/sn-package-selection.html Softwareselectie aanpassen]") vink je eveneens alle categorieën uit.
# Installeer MySQL op je appliance
# Zet een Apache webserver op met ondersteuning voor PHP en SSL. Genereer zelf een self-signed certificate en installeer het. Het moet mogelijk zijn om vanaf het host-besturingssysteem de webserver van je appliance te contacteren via SSL (http'''s'''://x.x.x.x/).
==Bibliografie==
 
* [httphttps://dev.mysql.com/doc/refman/5.5/en/installing.html httphttps://dev.mysql.com/doc/refman/5.5/en/installing.html]
* [httphttps://dev.mysql.com/doc/refman/5.5/en/adding-users.html httphttps://dev.mysql.com/doc/refman/5.5/en/adding-users.html]
* [httphttps://dev.antoinesolutions.com/mysql httphttps://dev.antoinesolutions.com/mysql]}
* [httphttps://www.vjtod.org/selinux_crt_httpd.html httphttps://www.vjtod.org/selinux_crt_httpd.html]
* [httphttps://www.apache-ssl.org/docs.html#SSLCertificateFile httphttps://www.apache-ssl.org/docs.html#SSLCertificateFile]
{{subSub}}
 
{{sub}}
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.