Installation Guide Teil 2

Laravel und PHPSiteSpellChecker Installation
Der erste Schritt ist ein Login ins frisch gestartete Debian mit dem im Installationsprozess angelegten User (in meinem Fall webuser).Jetzt müssen eine Reihe von Paketen installiert werden:
sudo apt-get install net-tools
sudo apt-get install mc
sudo apt-get install git
sudo apt-get install php-common
sudo apt-get install libapache2-mod-php
sudo apt-get install php-cli
sudo apt-get install composer
sudo apt-get install aspell aspell-en aspell-de
sudo apt-get install supervisor
sudo apt-get install mariadb-server
sudo apt-get install phpmyadmin
Bei den meisten Paketen muss einmal mit "Y" bestätigt werden, dass man dieses Paket wirklich installieren will und Abhängigkeiten aufgelöst werden. Bei phpmyadmin muss man zusätzlich noch den Webserver bestätigen (in meinem Fall Apache 2) und
die Konfiguration des Users mit dbconfig-common. Mit dem während der Installation von phpmyadmin angegebenen Passwort und dem User "phpmyadmin" kann man sich jetzt von jedem anderen Rechner im lokalen Netzwerk in einem Browser mit der URL "https://<IP-der-VM>/phpmyadmin" einloggen.
Im nächsten Schritt wird das root Passwort für MariaDB festgelegt:
sudo mysql -u root -p
bei Passwort nur ENTER drücken
ALTER USER 'root'@'localhost' IDENTIFIED BY '<Dein MariaDB Passwort>';
flush privileges;
exit;
Jetzt haben wir alle benötigten Pakete installiert und können das PHPSiteSpellChecker Laravel Projekt anlegen.
cd /var/www/html
sudo mkdir phpsitespellchecker
sudo chown -R www-data:www-data phpsitespellchecker
cd phpsitespellchecker
sudo -u www-data composer create-project laravel/laravel .
Wir haben jetzt ein leeres Laravel-Projekt. Jetzt muss Apache noch konfiguriert werden, um das Projekt auch anzeigen zu können:
sudo a2enmod rewrite
cd /etc/apache2/sites-available
sudo cp 000-default.conf phpsitespellchecker.conf
Die Datei phpsitespellchecker.conf muss jetzt editiert werden. ich nutze mcedit, aber jeder andere Editor wie nano oder vi geht natürlich auch:
sudo mcedit phpsitespellchecker.conf
Dazu müssen die folgenden beiden Zeilen angepasst werden:ServerName phpsitespellchecker
DocumentRoot /var/www/html/phpsitespellchecker/public Diese 3 Zeilen müssen hinzugefügt werden:
<Directory /var/www/html/phpsitespellchecker>
AllowOverride All
</Directory>
Nun Abspeichern und den Editor schliessen. Die letzten Schritte in der Apache-Konfiguration sind:
sudo a2dissite 000-default.conf
sudo a2ensite phpsitespellchecker.conf
sudo systemctl restart apache2
Jetzt sollte man schon von einem Rechner im lokalen Netzwerk in einem Browser unter der URL "https://<IP-der-VM>/" einen Laravel Startbildschirm sehen.Im nächsten Schritt richten wir PHPSiteSpellChecker ein. Dazu legen wir die Datenbank an:
sudo mysql -u root -p
create database phpsitespellchecker;
GRANT ALL PRIVILEGES ON phpsitespellchecker.* TO root@localhost;
GRANT ALL PRIVILEGES ON phpsitespellchecker.* TO phpmyadmin@localhost;
flush privileges;
exit;
Als nächstes müssen wir die .env Datei editieren:
cd /var/www/html/phpsitespellchecker
sudo mcedit .env
Diese Zeilen müssen angepasst werden:
SESSION_DRIVER=fileAPP_URL=http://<IP-der-VM>
DB_CONNECTION=mysql
DB_DATABASE=phpsitespellchecker
DB_USERNAME=root
DB_PASSWORD=<MariaDB-Passwort>
Nun muss der Source Code installiert werden:
cd /var/www/html/
sudo mkdir temp
cd temp
sudo git clone https://github.com/StefanHoferichter/phpsitespellchecker.git .
cd ..
sudo chown -R www-data:www-data temp
cd temp
sudo mc
Jetzt mit mc die Ordner app, config, database, dict, public, resources und routes ins Verzeichnis /var/www/html/phpsitespellchecker mit Overwrite kopieren. Wer mc nicht mag, kann das natürlich auch von der Kommandozeile tun.
Nur noch ein paar letzte Schritte um das projekt zu konfigurieren:
cd /var/www/html/phpsitespellchecker
sudo chmod -R 777 storage
php artisan migrate:refresh –-seed
sudo -u www-data composer require tigitz/php-spellchecker
Jetzt sollte man schon von einem Rechner im lokalen Netzwerk in einem Browser unter der URL "https://<IP-der-VM>/" den PHPSiteSpellChecker Startbildschirm sehen.Im nächsten Schritt muss aspell konfiguriert werden um Kunden-Wörterbücher zu supporten. Wir fangen mit deutsch an:
cd /usr/lib/aspell/
sudo mecedit de-neu.multi
Die Zeile hinzufügen:
add /var/www/html/phpsitespellchecker/dict/custom_de.rws
Nun noch english konfigurieren:
sudo mecedit en.multi
Die Zeile hinzufügen:
add /var/www/html/phpsitespellchecker/dict/custom_en.rws
Jetzt können wir schonmal einen Testscan machen. Dazu starten wir den Laravel-Worker von Hand:
cd /var/www/html/phpsitespellchecker
php artisan queue:work –timeout=5000
Dazu im Browser https://<IP-der-VM>/ aufrufen und auf "Jobs" klicken und dann den "Start"-Button drücken. Es sollte in der Tabelle im unteren Bereich eine neue Zeile erscheinen und unter Completion die Prozentzahl langsam auf 100% steigen.
Jetzt stoppen wir den manuell gestarteten Worker mit Ctrl-C in der Konsole. Um sicherzustellen, dass der Worker immer läuft, nutzen wir Supervisor. Eine Konfigurationsdatei wird schon mitgeliefert. Die muss nur an die richtige Stelle kopiert werden und die VM rebootet werden:
cp /var/www/html/temp/dict/laravel-worker.conf /etc/supervisor/conf.d/
sudo shutdown -r
Nach dem Reboot im Browser einen zweiten Job starten. Er sollte genau so wie im ersten Testlauf die Prozentzahl in einigen Sekunden auf 100% steigern:
Damit ist die Installation von PHPSiteSpellChecker vollständig.