Elgg Sociaal Netwerk installeren op Ubuntu 18.04 LTS
Elgg is een gratis, open bron en zelf gehost sociaal netwerk programma dat gebruikt kan worden om je eigen sociale netwerk website te maken. Je kunt met Elgg gemakkelijk sociale netwerken maken voor je universiteit, organisatie, school en hogeschool. Elgg is eenvoudig, gemakkelijk te gebruiken en zeer aanpasbaar. Je kunt de functionaliteit van Elgg uitbreiden met ingebouwde plugins en thema’s.
In deze handleiding laten we je zien hoe je Elgg met Apache webserver op Ubuntu 18.04 server kunt installeren.
Vereisten
- Een server waarop Ubuntu 18.04 draait.
- Een niet-root gebruiker met sudo privileges.
Aan de slag
Werk eerst je systeem bij met de nieuwste versie door het volgende commando uit te voeren:
sudo apt-get update -y
sudo apt-get upgrade -y
Zodra je systeem bijgewerkt is, herstart je je systeem om de veranderingen toe te passen.
Installeer een LAMP server
Elgg is geschreven in PHP en gebruikt MariaDB om hun databank op te slaan. Je zult dus Apache, PHP en MariaDB server op je systeem moeten installeren.
Je kunt alle pakketten installeren door het volgende commando uit te voeren:
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip unzip wget -y
Als alle pakketten geïnstalleerd zijn, open je het PHP standaard configuratiebestand en breng je enkele wijzigingen aan:
sudo nano /etc/php/7.2/apache2/php.ini
Breng de volgende veranderingen aan:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Sla het bestand op en sluit het. Start dan de Apache en MariaDB dienst en zet ze aan om bij het opstarten te starten:
sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb
Database configureren
MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt hem beveiligen door het volgende commando uit te voeren:
sudo mysql_secure_installation
Beantwoord alle vragen zoals hieronder aangegeven:
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Zodra de MariaDB beveiligd is, log je in op MariaDB shell:
mysql -u root -p
Voer je root wachtwoord in en maak dan een database en gebruiker voor Elgg:
MariaDB [(none)]> CREATE DATABASE elggdb;
MariaDB [(none)]> CREATE USER 'elgg'@'localhost' IDENTIFIED BY 'howtoforge';
Vervang het woord ‘howtoforge’ in het bovenstaande commando door een beveiligd wachtwoord. Verleen vervolgens alle rechten aan de Elgg database:
MariaDB [(none)]> GRANT ALL ON elggdb.* TO 'elgg'@'localhost' IDENTIFIED BY 'howtoforge' WITH GRANT OPTION;
Vervanghet woord ‘howtoforge’ in het bovenstaande commando door een veilig wachtwoord.Spoel vervolgens de privileges door en verlaat de MariaDB shell:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
Installeer Elgg op Ubuntu
Download eerst de nieuwste versie van Elgg met het volgende commando:
cd /tmp
wget https://elgg.org/download/elgg-2.3.9.zip
Pak vervolgens het gedownloade bestand uit met het volgende commando:
unzip elgg-2.3.9.zip
Kopieer vervolgens de uitgepakte map naar de Apache hoofdmap:
sudo cp -r elgg-2.3.9 /var/www/html/elgg
Maak vervolgens een gegevensmap voor Elgg:
sudo mkdir /var/www/html/elgg/data
Geef vervolgens de juiste permissies aan de Elgg:
sudo chown -R www-data:www-data /var/www/html/elgg/
sudo chmod -R 755 /var/www/html/elgg/
Configureer Apache voor Elgg
Maak vervolgens een Apache virtual host bestand voor Elgg met het volgende commando:
sudo nano /etc/apache2/sites-available/elgg.conf
voeg de volgende regels toe:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/elgg/ ServerName example.com <Directory /var/www/html/elgg/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/elgg-error_log CustomLog /var/log/apache2/elgg-access_log common </VirtualHost>
Vervang example.com door je domeinnaam. Sla het bestand op en sluit het. Schakel dan het Apache virtuele host bestand in met het volgende commando:
sudo a2ensite elgg.conf
Schakel vervolgens Apache herschrijfmodule in en herstart Apache web service met het volgende commando:
sudo a2enmod rewrite
sudo systemctl restart apache2
Ga naar de Elgg Web Interface
Open nu je web browser en typ de URL http://example.com. Je wordt doorverwezen naar de volgende pagina:
Klik op de knop Volgende. Je zou de volgende pagina moeten zien:
Als aan alle Elgg vereisten voldaan is. Klik op de Next knop. Je zou de volgende pagina moeten zien:
Geef je database gegevens op en klik op de Next knop. Je zou de volgende pagina moeten zien:
Geef nu je sitenaam op, gegevensmap‘/var/www/html/elgg/data‘, URL van de site. Klik dan op de knop Next. Je zou de volgende pagina moeten zien:
Geef nu je admin gebruikersnaam en wachtwoord op. Klik dan op de knop Next. Als de installatie voltooid is, zou je de volgende pagina moeten zien:
Klik nu op de Ga naar site knop. Je zou nu het Elgg dashboard moeten zien op de volgende pagina:
En zo ziet de Elgg frontend er uit:
Virtuele machine beeld downloaden van deze handleiding
Dit leerprogramma is beschikbaar als gebruiksklaar virtueel machine image in ovf/ova formaat dat compatibel is met VMWare en Virtualbox voor HowtoForge abonnees. Het virtuele machine image gebruikt de volgende inloggegevens:
SSH / Shell Inloggen
Gebruikersnaam: administrator
Wachtwoord: howtoforge
Deze gebruiker heeft sudo rechten.
Elgg Login
Gebruikersnaam: admin
Wachtwoord: howtoforge
MySQL Inloggen
Gebruikersnaam: root
Wachtwoord: howtoforge
en
Gebruikersnaam: elgg
Wachtwoord: howtoforge
Het IP van de VM is 192.168.1.100, het kan veranderd worden in het bestand /etc/netplan/01-netcfg.yaml. Verander alsjeblieft alle bovenstaande wachtwoorden om de virtuele machine te beveiligen. De Download-Link voor de VM staat in het menu aan de rechterkant, bij de top.