Ubuntu server ipv Windows

Ubuntu-Server## Let op: Deze blog-post is vervangen door: Ubuntu (15.10) server (veiliger) inrichten. ##

Ik moest voor het bus-forum een nieuwe server inrichten en dan kom ik voor een lastige keuze te staan. Ga ik voor de standaard Windows server of een heuse Ubuntu server. Omdat ik eigenlijk niets anders wilde dan een webserver met een MySQL database ben ik toch voor de Ubuntu server gegaan. Het is voor mij ook weer een goede kans om wat te leren!

En achteraf bleek het een briljante keuze. Nu kan ik via mijn iPhone via een prompt even iets uitvoeren op de server of eventueel een service herstarten. Waar ik eerder met remote desktop verbinding moest maken met de server om het zo via Windows te klikken.

Het installeren ging niet zonder slag of stoot omdat ik er erg onbekend in ben. Dus hier komt een stappenplan. Omdat ik een Mac heb ga ik uit van de Mac.

Ubuntu server inrichten voor Dummies

LAMP, Linux, Apache, MySQL & PHP

1. Kies een goede hosting uit. Zelf ga ik de server niet hosten en onderhouden. Daarvoor moet je een bepaalde internetverbinding hebben en je hebt altijd een computer aanstaan, die niet uit mag feitelijk. Ik heb het buiten de deur gebracht 🙂 De hosting-partij waar ik zit levert de computer helemaal basic geïnstalleerd op.

2. Maak op je computer verbinding via SSH naar de computer. Zo heb je een remote terminal waar je alle acties op uit kan voeren. In de Mac zit al een standaard SSH-client, voor Windows raad ik PuTTY aan.
Maak dan verbinding met de computer. In de terminal gaat dat als volgt:

ssh root@serverip

3. Update je installatie met de laatste pakketten van internet met het volgende commando:

sudo apt-get update

4. En dan installeren we Apache, de webserver van Ubuntu:

sudo apt-get install apache2

Je kan checken door: http://serverip in je browser in te typen of de installatie is geslaagd.

5a. Ik wil gebruik maken een database, in dit geval van MySQL. Dit installeer je als volgt:

sudo apt-get install mysql-server

Maar omdat ik een aantal andere modules er ook bij wil hebben zet ik die met een spatie er ook achter en dit commando heb ik hieronder gezet:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Zorg dat je het root wachtwoord wat je moet invullen voor de MySQL root gebruiker ergens opslaat.
b. Initialiseer de databases met:

sudo mysql_install_db

c. secure de MySQL installatie met het volgende commando, ik gebruikte de standaard opties;

sudo /usr/bin/mysql_secure_installation

Je moet meteen het zojuist ingevulde wachtwoord gebruiken.

6a. Dan installeren we PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

b. Dan is het handig om index.php op te nemen als default document. Dit doe je in een bepaald bestand;

sudo nano /etc/apache2/mods-enabled/dir.conf

Ik heb het als volgt gezet.

DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm

c. Je kan PHP op je server testen door een info pagina aan te maken. Dit doe je als volgt:

sudo nano /var/www/html/info.php

In het lege veld vul je in:

< ?php phpinfo(); ?>

daarna kan je dit bestand benaderen via: http://serverip/info.php

Tja, en dan ben je in principe klaar 🙂 Maar zo simpel is het nog niet. Het is verstandig om wat extra modules van PHP te installeren. Zelf wil ik graag WordPress en phpBB kunnen draaien op deze server. Dan heb je het één en ander nodig. Een overzicht vraag je als volgt op:

apt-cache search php5-

7. Dan kan ik deze goed gebruiken: php5-xmlrpc, php5-gd, php5-imagick, php5-json. Dus installeer ik;

apt-get install php5-xmlrpc php5-gd php5-imagick php5-json

PHPMyAdmin installeren

Om het voor mezelf wat beter beheersbaar te houden heb ik nog wat uitbreidingen geïnstalleerd. Eentje daarvan is PHPMyAdmin. Dit is een web-based MySQL beheer tool. Het maakt het werken met MySQL een stuk eenvoudiger, alhoewel het via de command-line ook goed te doen is. PHPMyAdmin installeer je als volgt:

1. Ik neem aan dat je nog verbinding hebt via SSH en dat het niet zo lang is geleden dat je;

sudo apt-get update

gedaan. Dus alles is nog up-to-date.

2a. Dan installeren we PHPMyAdmin met nog wat overige Apache tools.

sudo apt-get install phpmyadmin apache2-utils

b. kies voor Apache2 uiteraard, daarna YES en vul je MySQL root ww in en tot slot het wachtwoord wat je wilt gebruiken om op PHPMyAdmin in te loggen.

3. Dan moeten we PHPMyAdmin nog toevoegen aan Apache, dat doe je als volgt;
a. Open de Apache Configuratie

sudo nano /etc/apache2/apache2.conf

b. En helemaal onderaan het bestand include dan PHPMyAdmin

Include /etc/phpmyadmin/apache.conf

4. Herstart Apache.

sudo service apache2 restart

5. Test de installatie door naar: http://serverip/phpmyadmin te gaan.

Security wat aanschroeven
PHPMyAdmin is best veilig, maar het kan geen kwaad om het nog iets veiliger te maken. Je kan de bestanden zelf ook nog beveiligen zodat alleen geautoriseerde mensen gebruik kunnen maken van PHPMyAdmin. Dan heb je met een bestandsbeveiliging en database beveiliging twee lagen van autoriseren.

1a. Eerst moeten we Apache vatbaar maken voor .htaccess bestanden. Daarin kan je per folder instellingen doen. Dus we openen de config file van Apache.

sudo nano /etc/phpmyadmin/apache.conf

1b. Voeg onder de regel:

AllowOverride All

toe, ik heb het gewoon onder DirectoryIndex index.php gezet.

2a. Nu moeten we het .htaccess bestand maken dat de autorisatie regelt om bij de files te komen. Maak/open de pagina met:

sudo nano /usr/share/phpmyadmin/.htaccess

2b. Plak hier de volgende tekst in:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/apache2/.phpmyadmin.htpasswd
Require valid-user

AuthType is het type van authenticatie. AuthName is de tekst die je ziet als om het wachtwoord wordt gevraagd. AuthUserFile is de plek waar het wachtwoord bestand zit. Require valid-user houdt in dat je echt het wachtwoord moet opgeven om verder te kunnen.

3. Dan maken we het wachtwoorden bestand aan:

sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd username

Vul dan het gewenste wachtwoord in.

4. Test de installatie door naar: http://serverip/phpmyadmin te gaan. Als het goed is wordt je nu om je gegevens gevraagd alvorens je de pagina ziet.

Nu heb je een volledige functionerende server waar je WordPress, phpBB en nog vele andere zaken op kan draaien. Via SFTP kan je er bestanden naar uploaden. Let op dat je dan wel het pad aanhoudt:

/var/www/html

Want hier staat je website.

Bronnen:
Deze post is tot stand gekomen met de volgende bronnen waar ik hevig op ‘geleund’ heb;
Digital Ocean – How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu
Digital Ocean – How To Install and Secure phpMyAdmin on Ubuntu 12.04

5 replies

Trackbacks & Pingbacks

  1. […] dit mogelijk te maken. Natuurlijk moet je eerst Ubuntu inrichten, als je dat nog niet gedaan hebt: Ubuntu server inrichten met LAMP-inrichting. Hierbij een overzicht hoe ik de server heb ingericht met meerdere sites; 1. log in met ssh op de […]

  2. […] heb al eerder geschreven over mijn verhuizing van Windows naar Ubuntu en daar heb ik ook gestoeid met meerder sites op één Ubuntu installatie te draaien. Uiteindelijk […]

  3. […] tijd geleden omschreef ik hoe je een Ubuntu 14.10 server moest inrichten in: Ubuntu server ipv Windows. Nu crasht mijn server steeds door brute force attacks, ddos aanvallen en dergelijk. Dus ik […]

  4. […] heb al eerder geschreven over mijn verhuizing van Windows naar Ubuntu en daar heb ik ook gestoeid met meerder sites op één Ubuntu installatie te draaien. Het is […]

  5. […] tijd geleden omschreef ik hoe je een Ubuntu 14.10 server moest inrichten in: Ubuntu server ipv Windows. Nu crasht mijn server steeds door brute force attacks, ddos aanvallen en dergelijk. Dus ik […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply