een website toevoegen in ISPConfig 3.2

ISPConfig is een hosting controlepaneel voor Linux servers. ISPConfig biedt functies voor het beheer van websites, databases, FTP en shell gebruikers, e-mail accounts, en DNS. In deze handleiding laten we je stap voor stap zien hoe je een website, MySQL/MariaDB databank, FTP-gebruiker, en SSH-gebruiker in ISPConfig kunt toevoegen. De instellingen die we in deze handleiding gekozen hebben komen overeen met de eisen voor typische PHP-gebaseerde CMS zoals WordPress, Joomla, Contao, Typo3 enz.

Vereisten

De volgende voorwaarden moeten vervuld zijn om deze gids te kunnen volgen:

  • Server waarop het ISPConfig hosting controlepaneel geïnstalleerd is.
    Als je ISPConfig nog niet geïnstalleerd hebt, volg dan de ISPConfig installatiegids.
  • Een ISPConfig admin, reseller, of client login. Reseller of client logins moeten toestemming hebben om websites toe te voegen, ingeschakeld binnen hun client limieten.
  • Een domeinnaam voor de website die al met een DNS A-Record naar de server wijst.
  • Deze handleiding is geschikt voor Apache en Nginx servers.

Voor demonstratiedoeleinden wordt het domein “example.com” gebruikt. Vervang example.com door je eigen domeinnaam waar die hieronder ook voorkomt.

Video

Deze handleiding is ook als video beschikbaar hier:

Een website toevoegen in ISPConfig

Log in op ISPConfig web UI, ga dan naar de “Sites” Module door in het bovenste menu op Sites te klikken.

ISPConfig sites module

Klik nu op de groene knop “Nieuwe website toevoegen”. Als je die knop niet ziet, klik dan op het woord “Website” in het menu aan de linkerkant.

Website toevoegen

Het formulier voor website instellingen verschijnt. Je kunt er de details van de website mee instellen. Ik leg hieronder de vereiste en aanbevolen instellingen uit.

Website instellingen
PHP instellingen

Website instellingen. als je diepgaande uitleg van alle velden wilt, kijk dan in de ISPConfig Handleiding. Ik zal hier alleen behandelen wat#s aanbevolen is om in te stellen voor een typische PHP-gebaseerde website. Een belangrijke opmerking, het is niet aan te raden om functies in te schakelen die niet nodig zijn.

  • Client: Dit veld verschijnt alleen als je ingelogd bent als beheerder of reseller. Het veld kan leeg gelaten worden. Als je clients wilt beheren, maak dan eerst een client aan voordat je de website maakt.
  • IPv4 adres: Kies hier *. Belangrijk is dat alle sites van de server die naar hetzelfde IP wijzen ofwel * ofwel het IP adres gebruiken, maar * en IP niet mengen. Daarom zal ik aanraden altijd * te gebruiken, wat betekent dat je een op naam gebaseerde virtuele host krijgt.
  • Domein: Voer hier de domeinnaam in.
  • Suexec (alleen Apache servers): Het selectievakje suexec moet altijd aan staan; het zorgt ervoor dat de PHP scripts onder de webgebruiker van de website worden gedraaid, zodat PHP bestanden kan schrijven (mediabestanden en updates) zoals vereist door elk modern cms.
  • Automatisch subdomein: Als je website ook bereikbaar moet zijn via www.example.com, en niet alleen via example.com, stel dan auto subdomain in op www, stel het anders in op geen.
  • SSL: Schakel dit selectievakje in om toegang tot de site via SSL (HTTPS) mogelijk te maken. Het is sterk aan te bevelen dit in te schakelen.
  • Let’s Encrypt SSL: SSL vereist een zogenaamd SSL certificaat om te kunnen werken. Je kunt een zelf-ondertekend SSL cert hebben (dat een onveilige foutmelding geeft als je de site in een webbrowser opent), of je kunt een SSL cert kopen van een SSL autoriteit, of je kunt gratis een SSL cert krijgen van b.v. Let’s Encrypt. En daar is dit selectievakje voor gemaakt. Door dit selectievakje aan te zetten, probeert ISPConfig een gratis Let’s Encrypt SSL certificaat voor de website te verkrijgen. Belangrijk: Je krijgt alleen een Let’s Encrypt SSL certificaat als de domeinnaam van de website al naar het IP adres van deze webserver wijst. Als je problemen hebt om een Let’s Encrypt SSL certificaat te krijgen (het Let’s Encrypt vinkje raakt uitgevinkt ongeveer een minuut nadat je de site gemaakt hebt), kijk dan in de Let’s Encrypt Error FAQ voor een checklist om het probleem te debuggen.
  • PHP: De aanbevolen PHP modus is PHP-FPM. Als je een Nginx webserver gebruikt, dan verschijnt dit veld niet, Nginx ISPConfig servers gebruiken altijd PHP-FPM.
  • PHP-Versie: Dit veld verschijnt alleen als je meerdere PHP versies geïnstalleerd hebt. Ik raad aan altijd de hoogste versie te gebruiken die ondersteund wordt door het CMS of de webapplicatie die je op deze website wilt installeren. Kijk naar de systeemeisen voor het cms om de juiste versie te kiezen.
  • Actief: Om de website te activeren.

Klik op de knop ‘Save’ om de website te maken. De nieuw toegevoegde website verschijnt in de website lijst.

Lijst van websites in ISPConfig

Het maken van de site kan tot een minuut duren. Het is klaar als de rode stip in het bovenste menu verdwijnt. Het getal in de stip is het aantal hangende configuratie wijzigingen.

ISPConfig in afwachting van veranderingen

Nu hebben we een volledig functionele website, maar de meeste CMS systemen hebben ook een MySQL of MariaDB databank nodig om hun inhoud op te slaan. In de volgende stap maken we zo’n database en database gebruiker aan.

Voeg MySQL Database en Database-gebruiker toe in ISPConfig

In deze stap zullen we een nieuwe MySQL gebruiker en database toevoegen die door het cms systeem van die website gebruikt zullen worden, De eerste stap is het toevoegen van de MySQL gebruiker.

Klik op“Database Users” in het linker menu:

Database gebruikers

En dan op de groene knop“Nieuwe gebruiker toevoegen” die in het midden van de pagina verschijnt.

Voeg nieuwe Database gebruiker toe

Het formulier met de gegevens van de database gebruiker verschijnt.

Gegevens van de MySQL gebruiker.

De invoervelden voor de database gebruiker worden hieronder in detail uitgelegd:

  • Client: Het is optioneel om hier een cliënt te kiezen. Maar als je er bij het maken van de site voor gekozen hebt de site aan een cliënt toe te wijzen, dan is het belangrijk dat je diezelfde cliënt (of in het geval van dit voorbeeld – geen cliënt) hier kiest.
  • Database gebruiker: Voer hier de naam in die de nieuwe database gebruiker zal krijgen. Aan de naam wordt een voorvoegsel toegevoegd, dus in dit voorbeeld wordt de resulterende databank gebruikersnaam c0mywebsite. We zullen dat later ook in de database gebruikerslijst zien. Zie het hoofdstuk aan het eind van het gidsje over voorvoegsels.
  • Database wachtwoord en Herhaal wachtwoord: Geef hier tweemaal een veilig wachtwoord voor de nieuwe database gebruiker. Of gebruik de “Genereer wachtwoord” knop om er een te genereren. Let op dat je het wachtwoord noteert, want dat heb je later nodig bij de installatie van het CMS in de website.

Druk nu op save om de database gebruiker aan te maken, je wordt nu doorgestuurd naar de database gebruikerslijst. Merk op dat de gebruiker in MySQL wordt aangemaakt op het moment dat we hem in de volgende stap aan een database toewijzen.

Database gebruikerslijst met nieuwe MySQL gebruiker

Zoals je nu in de lijst ziet, is de database gebruikersnaam “c0mywebsite” en dat#s de naam die je zult moeten gebruiken bij het invoeren van database gegevens bij het installeren van het CMS in de site.

Nu maken we een MySQL database aan. Klik daartoe in het linker menu op“Databases“.

Menu Databanken

De (lege) lijst met databases verschijnt. Daar klik je op de groene knop“Add new database“.

Voeg een nieuwe database toe in ISPConfig

Vul de gegevens van de database in zoals hieronder:

Database configuratie

De databank instellingen in detail:

  • Site: hier moet je de website kiezen waartoe de databank zal behoren. In ons geval is dat de website “example.com”. Het kiezen van de juiste website is belangrijk omdat deze instelling bv. bepaalt in welke backup de database terecht komt en welke permissies ingesteld zijn voor de toegang tot de database.
  • Database naam: hier voer je de naam in die de nieuwe database zal krijgen. Ik zal hier de naam “mywebsite” gebruiken. Net als bij de MySQL gebruiker wordt aan de databasenaam een voorvoegsel voorafgegaan, zodat de resulterende databasenaam “c0mywebsite” wordt. Zie het hoofdstuk aan het eind van de gids over voorvoegsels.
  • Database gebruiker: Hier kies je de naam van de database gebruiker die we eerder maakten.
  • Actief: Moet ingeschakeld zijn om de databank te activeren.

Druk nu op de bewaar knop. Dit maakt de Database en ook de databank gebruiker in MySQL. Je keert terug naar de database lijst en onze nieuwe database verschijnt daar.

MySQL database voor een website in ISPConfig

Je kunt de website nu bv. via phpmyadmin benaderen door in de lijst op de phpMyAdmin knop te klikken:

Knop voor toegang tot phpmyadmin

Opmerking: Krijg je de foutmelding dat phpMyAdmin niet gevonden wordt, dan is de URL naar phpMyAdmin nog niet geconfigureerd na de installatie van ISPConfig onder systeem > Interface > Hoofdconfig. De URL is meestal https://server1.example.com/phpmyadmin op Apache systemen en https://server1.example.com:8081/phpmyadmin op nginx systemen, waarbij server1.example.com de hostnaam van de hostingserver is.

Toegang tot de Website bestanden

We hebben al een website en MySQL database gemaakt, maar om een CMS systeem te installeren moet je de websitemap kunnen benaderen, hetzij via FTP of SSH. In dit hoofdstuk laat ik je zien hoe je FTP (FTPS) en SSH (SFTP) toegang tot de website kunt geven.

FTP gebruiker toevoegen in ISPConfig

Klik op Webtoegang > FTP-Accounts in het menu aan de linkerkant om naar de FTP gebruikerslijst te gaan.

Website benaderen via FTP in ISPConfig

Op de pagina die verschijnt, klik je op de gree knop“Add new FTP-User“.

FTP gebruikerslijst

Het FTP gebruiker detail formulier verschijnt:

FTP gebruiker in ISPConfig

De details over wat je in welke velden moet invullen zijn:

  • Website: Kies hier de website waartoe de FTP gebruiker moet behoren. In ons voorbeeld heet de website “example.com”.
  • Gebruikersnaam: Voer hier een gebruikersnaam voor de FTP gebruiker in. Aan de gebruikersnaam wordt automatisch een voorvoegsel toegevoegd.
  • Wachtwoord en Herhaal wachtwoord: Voer hier tweemaal een veilig wachtwoord in, of gebruik de “Genereer wachtwoord” knop.
  • Actief: Dit selectievakje moet aangevinkt zijn om de FTP toegang te activeren.

Druk nu op“Save” om de FTP gebruiker aan te maken. Je wordt doorgestuurd naar de FTP gebruikerslijst, die ook de FTP gebruikersnaam incl. prefix toont.

FTP gebruiker

We hebben met succes een FTP gebruiker in ISPConfig gemaakt. Hiermee kunnen we de website via elke FTP cliënt benaderen. De ondersteunde protocollen zijn FTP en FTPS (FTP over TLS). Merk op dat SFTP (ook al lijkt de naam erop) SSH bestandstoegang is en geen FTP, dus is er een SSH gebruiker nodig om dat protocol te gebruiken (dat we in het volgende hoofdstuk maken).

Welke gegevens moeten nu dus in een FTP cliënt gebruikt worden?

  • Server: De naam van de FTP server is de hostnaam van de server, want dat is de naam waarvoor het SSL cert van de FTP server gewoonlijk wordt uitgegeven. Mijn server heeft de hostnaam “server1.example.com, dus ik voer ‘server1.example.com’ in wanneer de FTP cliënt om de naam van de FTP server vraagt.
  • FTP gebruikersnaam: De FTP gebruikersnaam is de volledige gebruikersnaam incl. voorvoegsel. Dus in het geval van dit voorbeeld is het voorvoegsel “default” en de gebruikersnaam “mywebsite”, dus de resulterende FTP gebruikersnaam die in de FTP cliënt moet worden ingevoerd is “defaultmywebsite”. Als de prefixen je niet bevallen, zie dan het hoofdstuk aan het eind van deze gids over waarom prefixen op de meeste systemen nodig zijn en waar je ze kunt uitschakelen en veranderen (als je de beheerder van de server bent).
  • FTP wachtwoord: het wachtwoord dat je voor die FTP gebruiker in het bovenstaande FTP gebruiker formulier instelde.

Waar kun je nu bestanden uploaden? De website root is de map met de naam“web“, waar je het bestand van je CMS naar uploadt. De “web” map is de map die je met je web browser opent als je de domeinnaam van de site in de adresbalk van de browser invoert. Als je bestanden op de website wilt opslaan die niet met een webbrowser bereikbaar mogen zijn, dan kun je ze uploaden naar de map met de naam“private“.

Voeg SSH / SFTP / Shell gebruiker toe in ISPConfig

Het toevoegen van een Shell gebruiker, die via SSH en SFTP toegang geeft tot de website, lijkt veel op het toevoegen van een FTP gebruiker. De eerste stap is te klikken op Opdrachtregel > Shell-gebruiker in het menu aan de linkerkant.

Shell gebruiker in ISPConfig menu

De pagina met de shell gebruikers verschijnt in de middelste sectie. Daar klik je op de groene knop“Add new Shell-User“.

Voeg nieuwe SSH / SFTP Gebruiker toe in ISPConfig

Het formulier met de details van de shell gebruiker verschijnt.

ISPConfig SSH gebruiker

De volgende velden moeten ingevuld worden.

  • Site: hier kies je de website waartoe deze SSH gebruiker toegang moet geven. In ons voorbeeld heet de website example.com.
  • Gebruikersnaam: vul hier de gewenste gebruikersnaam in. Er wordt een prefix toegepast, hetzelfde als beschreven voor de FTP gebruiker.
  • Wachtwoord en herhaal wachtwoord: Geef hier een veilig wachtwoord voor de nieuwe SSH gebruiker.
  • Chroot Shell: Als je hier jailkit kiest, dan wordt de SSH gebruiker in de website root gejailbreakt. Dit wordt aanbevolen en voegt een extra beveiligingslaag toe, maar de gebruiker heeft alleen toegang tot programma’s en bestanden die in zijn jailkit geïnstalleerd zijn. Dit veld is alleen zichtbaar voor beheerders, voor klanten en wederverkopers kan de waarde voor dit veld vooraf bepaald worden door de grenzen van de klant.
  • SSH-RSA Openbare Sleutel: Als je graag publieke sleutel authenticatie gebruikt voor SSH toegang in plaats van of naast een wachtwoord, dan kun je hier je publieke sleutel invoeren.

Klik nu op save en de SSH gebruiker wordt aangemaakt. Dit kan tot een minuut duren, je ziet de rood knipperende indicator in de bovenste navigatiebalk tot de veranderingen naar de schijf zijn geschreven.

SSH Shell SFTP gebruiker

Met deze SSH gebruiker kun je de website benaderen met een SFTP (SSH File Transfer) cliënt of je kunt het ssh commando gebruiken of een SSH cliënt zoals Putty om terminal toegang te krijgen. De gegevens die je in een SSH of SFTP cliënt moet gebruiken zijn:

  • Server: Gebruik hier de hostnaam van de server. in mijn geval is de hostnaam server1.example.com.
  • SSH gebruikersnaam: De SSH gebruikersnaam is de volledige gebruikersnaam incl. voorvoegsel. Dus in het geval van dit voorbeeld is het voorvoegsel “default” en de gebruikersnaam “mywebsite”, dus de resulterende gebruikersnaam is “defaultmywebsite”.
  • SSH wachtwoord: Het wachtwoord dat je hierboven invulde of je kunt de SSH sleutel gebruiken, voor het geval je die gebruikt hebt.

Hoe navigeer je naar de websitemap als SSH gebruiker?

Het commando om in de Linux shell naar een andere map te gaan is “cd”. Als je als SSH gebruiker op de website ingelogd bent, dan land je in de thuismap van je SSH gebruiker (die leeg is als je hem begint te gebruiken). Om naar de web map te gaan (die de website bestanden bevat, gebruik je het cd commando als volgt:

cd ../../web/

Het bovenstaande commando werkt voor gejailde en niet-gejailde SSH gebruikers. Voor gejailde gebruikers kun je eas alternatief gebruiken:

cd /web

want de hoofdmap van een gejailde SSH gebruiker is de website root en de http root of httpdocs zoals hij soms genoemd wordt (de map die de website bestanden bevat) is de map met de naam ‘web’.

Voorvoegsels voor gebruikersnamen in ISPConfig

Waarom worden gebruikersnaam voorvoegsels gebruikt? De meeste diensten in Linux die gebruikersnamen en wachtwoorden gebruiken voor authenticatie vereisen dat de gebruikersnaam uniek is op die server. ISPConfig is een Hosting Controlepaneel dat door meerdere Cliënten gebruikt kan worden waarbij elke cliënt alleen zijn eigen gebruikers van oorzaak ziet. Nu kan het volgende probleem ontstaan: Cliënt A maakt een FTP/SSH/Database gebruiker met de naam “tom”. Nu logt Cliënt B in op ISPConfig en probeert ook een nieuwe FTP gebruiker aan te maken, met de naam “tom”. Hij kan niet zien dat er al een gebruiker met de naam tom is, want die hoort bij cliënt A. Hij zou dan een foutmelding krijgen dat gebruiker tom al bestaat, maar omdat hij die gebruiker niet kan zien, zou hij waarschijnlijk denken dat er een fout in de software moet zijn en de support van zijn ISP bellen. Hier komen gebruikersnaam voorvoegsels in het spel, ISPConfig configureert ze standaard, bv. een “c + ID van de client” id wordt toegevoegd voor een database of gegevensbank gebruiker of de gebruikersnaam van de client (in het geval van geen client, het woord default) wordt toegevoegd voor een SSH of FTP gebruiker. Zo kan elke client een gebruiker ’tom’ hebben, met als nadeel dat het voorvoegsel deel uitmaakt van de gebruikersnaam om hem uniek te maken. Maar niet alle ISPConfig servers worden als hosting systeem gebruikt, je zou bv. ISPConfig als paneel voor je thuisserver of interne bedrijfsserver kunnen gebruiken, zodat je geen gebruikersnaam prefixen nodig hebt en het vervelend vindt dat ISPconfig ze toch toevoegt. Maar dit is eenvoudig op te lossen omdat gebruikersnaam voorvoegsels vrij in te stellen zijn in ISPConfig. Om ze te verwijderen ga je naar Systeem > Interface > Hoofdconfig (terwijl je ingelogd bent als admin gebruiker):

Voorvoegsels voor gebruikersnamen

Maak alle voorvoegsel velden leeg en druk op de bewaar knop:

Schakel het voorvoegsel voor de gebruikersnaam uit

Nu zijn gebruikersnaam en databasenaam voorvoegsels uitgeschakeld. Merk op dat de verandering alleen geldt voor nieuw aangemaakte gebruikers, het voorvoegsel van bestaande gebruikers wordt niet verwijderd, dus bestaande gebruikersnamen worden niet gewijzigd en hun login wordt niet verbroken als je deze instellingen wijzigt.

Links

Hier zijn een paar links voor verder lezen en om hulp te krijgen als je problemen hebt.