Basic Setup Guide

Basic


Einführung

Dieses Produkt erfordert ein gewisses Level an Expertise. Bei Fragen sind wir über Ticket oder E-Mail erreichbar.

  • Item Name : Basic

Wilkommen zu dieser Installationsanleitung.

Dieser Guide soll dir helfen, alles für die Installation unsere Produkte vorzubereiten.

Vorraussetzungen

Du brauchst die folgenden Sachen:

  1. Einen Server (KVM, LXC kann funktionieren, muss aber nicht)

Als Testserver benutzen wir hier Debian 10 64 bit. Diese Anleitung sollte auch auf anderen Betriebssystemen funktionieren, muss dann aber ggf. entsprechend angepasst werden.

Getting Started #back to top

Stell sicher, dass das System up-to-date ist indem du folgenden Befehl ausführst sudo apt-get update -y && sudo apt-get upgrade -y.

Als nächstes installieren wir apache2 und alle benötigten PHP-Pakete.

                                    root@server:~# sudo apt install apache2 -y && sudo apt install -y libapache2-mod-php7.3 php7.3-zip php7.3-mysql php7.3-dom php7.3-simplexml php7.3-ssh2 php7.3-xml php7.3-xmlreader php7.3-curl  php7.3-exif  php7.3-ftp php7.3-gd  php7.3-iconv php7.3-imagick php7.3-json  php7.3-mbstring php7.3-posix php7.3-sockets php7.3-tokenizer && a2enmod rewrite
                                

Also nächstes muss apache2 konfiguriert werden, sodass wir unsere eigene .htaccess Datei nutzen könenn. Dies wird wie gefolgt gemacht:

Öffne die Apache-2 config-datei mit sudo nano /etc/apache2/apache2.conf und finde den folgenden Absatz:

                                    <Directory /var/www/>
                                        Options Indexes FollowSymLinks
                                        AllowOverride None
                                        Require all granted
                                    </Directory>
                                

Jetzt, ändere das folgende AllowOverride von None auf All. Die Zeile sollte dann so aussehen: AllowOverride All.

Verlasse den Editor mit ctrl + x und bestätige mit y

Starte apache mit sudo systemctl restart apache2 neu und wir sind fertig.

Datenbank Einrichtung

Solange nicht anders angegeben, braucht das Produkt eine MySQL Datenbank. Wir benutzen MariaDB und dieser Guide wird die Einrichtung und Erstellung eines neuen Nutzer zeigen.

                                    root@server:~# sudo apt install mariadb-server mariadb-client
                                

Also nächtest müssen wir MySQL richtig einrichten. Führen wir sudo mysql_secure_installation aus.

                                    root@server:~# sudo mysql_secure_installation
                                    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
                                    SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

                                    In order to log into MariaDB to secure it, we'll need the current
                                    password for the root user.  If you've just installed MariaDB, and
                                    you haven't set the root password yet, the password will be blank,
                                    so you should just press enter here.

                                    Enter current password for root (enter for none): 
                                    OK, successfully used password, moving on...

                                    Setting the root password ensures that nobody can log into the MariaDB
                                    root user without the proper authorisation.

                                    Set root password? [Y/n] Y
                                    New password: 
                                    Re-enter new password: 
                                    Password updated successfully!
                                    Reloading privilege tables..
                                    ... Success!


                                    By default, a MariaDB installation has an anonymous user, allowing anyone
                                    to log into MariaDB without having to have a user account created for
                                    them.  This is intended only for testing, and to make the installation
                                    go a bit smoother.  You should remove them before moving into a
                                    production environment.

                                    Remove anonymous users? [Y/n] Y
                                    ... Success!

                                    Normally, root should only be allowed to connect from 'localhost'.  This
                                    ensures that someone cannot guess at the root password from the network.

                                    Disallow root login remotely? [Y/n] Y
                                    ... Success!

                                    By default, MariaDB comes with a database named 'test' that anyone can
                                    access.  This is also intended only for testing, and should be removed
                                    before moving into a production environment.

                                    Remove test database and access to it? [Y/n] Y
                                    - Dropping test database...
                                    ... Success!
                                    - Removing privileges on test database...
                                    ... Success!

                                    Reloading the privilege tables will ensure that all changes made so far
                                    will take effect immediately.

                                    Reload privilege tables now? [Y/n] Y
                                    ... Success!

                                    Cleaning up...

                                    All done!  If you've completed all of the above steps, your MariaDB
                                    installation should now be secure.

                                    Thanks for using MariaDB!

                                

Wir bestätigen erstmal mit enter, da wir noch kein Passwort für den root-Nutzer haben. Danach antworten wir immer mit Y und wenn wir nach einem root-passwort gefragt werden, geben wir einfach root ein.
Es sollte angemerkt werden, das dies keine Sicherheitslücke ist, da wird dem root-Nutzer den login nur von localhost (dem Server selber) erlauben. Wenn du planst ein Programm wie phpmyadmin oder etwas ähnliches zu verwenden, ist es empfholen ein sicheres Passwort zu wählen.

Jetzt wollen wir einen Nutzer für das Produkt erstellen.
Führe die mysql shell aus indem du sudo mysql im Terminal eingibst. Du solltest eine Ausgabe ählich zu dieser erhalten:

                                    root@server:~# sudo mysql
                                    Welcome to the MariaDB monitor.  Commands end with ; or \g.
                                    Your MariaDB connection id is 57
                                    Server version: 10.3.23-MariaDB-0+deb10u1 Debian 10
                                    
                                    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
                                    
                                    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
                                    
                                    MariaDB [(none)]> 
                                

Das heißt, dass wir uns erfolgreich mit der Datenbank verbunden haben.

                                    MariaDB [(none)]> CREATE USER 'CP'@'localhost' IDENTIFIED BY 'CP';
                                

Wieder, wir erlauben dem Nutzer den login nur von localhost, deswegen ist CP als Password ausreichend.

                                    MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'CP'@'localhost';
                                

Dies gibt dem Nutzer Rechte für alle Datenbank, da wir keine Datenbank spezifisch für das Produkt erstellt haben. Dieser Schritt kann auch nach dem importieren der Datenbank ausgeführt werden um die Rechte des Nutzer nur für die spezifische Datenbank zu setzen.

                                    MariaDB [(none)]> FLUSH PRIVILEGES;
                                

Dieser Befehl lädt die Rechte-tabelle neu und unser Nutzer ist damit einsatzfähig.

Dies schließt die Einrichtung ab. Du kannst nun mit der Einrichtung des Produkts forfahren.