› Forums › berliCRM Installation › Current
Schlagwörter: installation
- Dieses Thema hat 0 Antworten sowie 1 Teilnehmer und wurde zuletzt vor vor 3 Jahren, 8 Monaten von Peter aktualisiert.
-
AutorBeiträge
-
-
29. März 2021 um 9:12 Uhr #1818PeterTeilnehmer
Dieses BerliCRM ist über einem Virtuellem Host unter Ubuntu 20.04 installiert.
Wir brauchen zur Installation
VMware Workstation -> VMware – installieren
Putty -> PuTTY -> installieren
Cemder -> Cemder -> installierenUbuntu 20.04 Server -> Ubuntu 20.04 ->mit VMware installieren wer da Hilfe braucht bitte ein Tutorial unter Google suchen oder Nachfragen
Wenn Ubuntu 20.04 installiert ist und läuft fangen wir an unseren Server ein zu richten.
Cmder öffnen und ins eigene Benutzerverzeichnis wechseln
cd C:\Users\dein-Benutzername
SSH-Key erzeugen -> Pfad und Name bestätigen (Enter
Passphrase eingeben (oder leer lassen – nicht empfohlen)
Standard Sicherheit 2048 Bit – höhere Sicherheit 4096 Bit
ssh-keygen
ssh-keygen -t rsa -b 4096
PuTTY öffnen und IP Adresse anpassen
auf den Server zugreifen mit Username und Passwort anmelden
System update – !! nach dem ersten Befehl nochmal das Passwort eingeben!!sudo apt-get update -y && sudo apt-get upgrade -y sudo apt -y install software-properties-common
SSH Server installieren
sudo apt install openssh-server
Kontrolle ob SSH aktiv ist – mit ‘q’ verlassen
sudo systemctl status ssh
SSH als Service aktivieren
sudo systemctl enable ssh sudo systemctl start ssh
Ordner für SSH Key anlegen
mkdir ~/.ssh/
wechseln auf Windows Eingabe mit Cmder – https://cmder.net/
aus rsa.pub -> authorized-keys erstellen – eigenen User und Namen eintragen
cp C:\Users\dein-Benutzername\.ssh\id_rsa.pub C:\Users\dein-Benutzername\.ssh\authorized_keys
SSH-Key und authorized_keys auf den Server kopieren
eigenen Server Benutzernamen und Server IP eintragen
cat ~/.ssh/id_rsa.pub | ssh Server-Benutzername@Server IP-Adresse "cat >> ~/.ssh/authorized_keys"
mit PuTTY am Server:
rechte eingebenchmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
SSH Härten und absichern
erstellen einer Backup der sshd_config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
aktuell festgelegte Optionen überprüfen
sudo sshd -T
mit einem Texteditor die sshd_config öffnen
aus Sicherheitsgründen ändere ich das Standard SSH Port
Freie Ports kann unter dieser Adresse suchen
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
sudo nano /etc/ssh/sshd_config
nachstehendes einfügen – vorhandenen Text mit ctrl+k (strg+k) löschen
Port anpassen# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Include /etc/ssh/sshd_config.d/*.conf #Standart Port ist 22 Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # Logging #SyslogFacility AUTH #LogLevel INFO # Authentication: LoginGraceTime 20 PermitRootLogin no #StrictModes yes MaxAuthTries 3 #MaxSessions 10 PubkeyAuthentication yes # Expect .ssh/authorized_keys2 to be disregarded by default in future. #AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 #AuthorizedPrincipalsFile none #AuthorizedKeysCommand none #AuthorizedKeysCommandUser nobody AuthenticationMethods publickey # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for #HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! PasswordAuthentication no PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Kerberos options KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no # GSSAPI options GSSAPIAuthentication no #GSSAPICleanupCredentials yes #GSSAPIStrictAcceptorCheck yes #GSSAPIKeyExchange no # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes AllowAgentForwarding no AllowTcpForwarding no #GatewayPorts no X11Forwarding no #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes PrintMotd no #PrintLastLog yes #TCPKeepAlive yes PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #UseDNS no #PidFile /var/run/sshd.pid #MaxStartups 10:30:100 PermitTunnel no #ChrootDirectory none #VersionAddendum none # no default banner path Banner none # Allow client to pass locale environment variables AcceptEnv LANG LC_* # override default of no subsystems Subsystem sftp /usr/lib/openssh/sftp-server
Texteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
sshd_config neu laden
sudo systemctl restart ssh
verwendeten SSH-Port anzeigen
grep -i port /etc/ssh/sshd_config
Server verlassen
exit
PuTTY einrichten
PuTTYgen starten -> Conversation -> Import Key
und den Privaten Schlüssel – id_rsa – laden (ggf. muss die Passphrase eingegeben werden)
in PuTTYgen auf -> Save private key – klicken und das File als – id_rsa.ppk – speichern
sollte eine Passphrase beim laden abgefragt worden sein wird diese übernommen,
sonst die Frage nach der Passphrase mit JA/YES beantworten und weiter ohne PassphrasePuTTY starten rechts auf -> Conection – Data -> bei Auto-login username Serverbenutzernamen eintragen
jetzt auf -> Conection -> SSH -> Auth -> klicken und unter – Private key file for authentication –
den SSH-Key eingeben – C:\Users\Peter\.ssh\id_rsa.ppk
jetzt auf -> Session – klicken -> unter Host Name (or IP address)
die IP Adresse des Servers oder den Hostnamen eingeben und unter Port das gewählte SSH port
bei Connection type: SSH auswählen
unter – Save Sessions – einen Namen eingeben und mit Save speichern
ein Doppelklick auf diesen Namen öffnet das Eingabefeld zum Server
Passwort eingeben und SSH Verbindung stehtwechseln auf Windows Eingabe mit Cmder
authorized_keys löschen – eigenen User und Namen eintragen
rm C:\Users\dein-Benutzername\.ssh\authorized_keys
UFW Firewall einrichten
Firewall Status abfragen
sudo ufw status
wenn inaktiv UFW Firewall aktivieren und mit ‘y’ bestätigen
sudo ufw enable
alle eingehenden Anfragen blocken
sudo ufw default deny incoming
alle ausgehenden Anfragen erlauben
sudo ufw default allow outgoing
IPv6 Unterstützung aktivieren
sudo cat /etc/default/ufw
mit Standard Einstellung http, https und Datenbank Ports freigeben
enspricht -> port 80
enspricht -> port 443
für MariaDBsudo ufw allow http sudo ufw allow https sudo ufw allow 3306
als Beispiel anstelle der allgemeinen Port Freigabe für ssh
gibt es zusätzliche Sicherheit wenn man nur ausgewählte IP Adressen zulässt
IP Adresse identifizieren mit der man am Server angemeldet ist
w
so hat nur der Rechner mit der der IP ersichtlich unter „ w „
auf das ssh Port ->geändert zugriff
sudo ufw allow proto tcp from IP von angemeldeten PC to IP des Servers port SSHPort
oder die Standard SSH Port Freigabe
enspricht -> port 22
sudo ufw allow ssh
zur Kontrolle Firewall Status abfragen
sudo ufw status
UFW Firewall neustarten
sudo ufw reload
UFW Firewall als Service einrichten -> UFW wird bei jedem Neustart aktiviert – mit ‘q’ verlassen
sudo systemctl status ufw.service
Installation des Apache2 Webservers
sudo apt install apache2
zur Kontrolle ob der Apache Server aktiviert ist – active (running)
sudo systemctl status apache2
wenn nicht aktivieren – active (running)
sudo systemctl is-enabled apache2
zum Testen ob der Server läuft den Browser öffnen und deine IP Adresse eingeben
wenn das läuft kann die Apach index-Seite gelöscht werden
sudo rm /var/www/html/index.html
php 7.2 installieren – ich mache es über eine PPA – da eine direkte Installation zu
Versionsüberschneidungen führen kann
sudo add-apt-repository ppa:ondrej/php
System update
sudo apt update
php7.2 installieren
sudo apt install php7.2
Standard Version auswählen
sudo update-alternatives --set php /usr/bin/php7.2
PHP Extension installieren
sudo apt-get install -y php7.2-ctype php7.2-curl php7.2-gd php7.2-mysql php7.2-imap php7.2-json php7.2-mbstring php7.2-opcache php7.2-simplexml php7.2-xml php7.2-zip zlib1g
ggf. dafür sorgen die neueren Versionen deaktiviert sind
sudo a2dismod php8.0 sudo a2dismod php7.4 sudo a2dismod php7.3
PHP7.2 aktivieren
sudo a2enmod php7.2
anpassen der php.ini
sudo nano /etc/php/7.2/apache2/php.ini
mit ctrl+w (strg+w) suchen und ersetzen
error_reporting = E_WARNING & ~E_NOTICE display_errors = off file_uploads = on max_execution_time = 3600 memory_limit = 512M #besser 1024M wenn genug Ram vorhanden ist log_errors = On output_buffering = on max_input_vars = 8192 short_open_tag = off default_charset = "UTF-8"
Texteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
Apache neu starten
sudo systemctl restart apache2
PHP-Info File erstellen um PHP zu testen und Extension überprüfen
sudo nano /var/www/html/info.php
das Einfügen und speichern
<?php phpinfo(); ?>
Texteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
im Browser öffnen – http://dein Server – oder – deine IP/info.php
wenn es geklappt hat kann info.php gelöscht werden
sudo rm /var/www/html/info.php
MariaDB und DB-client installieren
sudo apt-get install mariadb-server mariadb-client -y
Status von MariaDB abrufen – active (running) – mit ‘q’ wieder raus
sudo systemctl status mariadb
fall MariaDB nicht aktiv ist – active (running)
sudo systemctl is-enabled mariadb
zur Grundsicherung von MariaDB
sudo mysql_secure_installation
Root-Passwort für MariaDB leer lassen
bei der Frage nach dem ändern des Root-Passworts „ n „ eingegeben
alle weiteren Fragen mit „ y „ beantwortenMariaDB terminal öffnen
sudo mariadb
User mit Root Rechten erstellen und Datenbank anpassen
DB Admin DeinDBAdmin
Passwort ‘deinDatenbankPasswort’User für Datenbank erstellen
CREATE USER 'DeinDBAdmin'@'localhost' IDENTIFIED BY 'deinDatenbankPasswort';
erstelle User mit ‘root’ rechten
GRANT ALL ON *.* TO 'DeinDBAdmin'@'localhost' IDENTIFIED BY 'deinDatenbankPasswort' WITH GRANT OPTION; FLUSH privileges;
sql_mode leeren
SET sql_mode=''; SET GLOBAL sql_mode='';
sql_mode setzen
SET sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,IGNORE_SPACE'; SET GLOBAL sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,IGNORE_SPACE';
sql_mode überprüfen
SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;
MariaDB verlassen
EXIT;
als Test mit dem erstellten User die Version abrufen -> Passwort eingeben
mysqladmin -u CRMrootDB -p version
anpassen der config
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
die IP oder Webadresse der Datenbank einfügen/ändern – z.B. localhost
oder 127.0.0.1 oder 192.168.0.1bind-address = 0.0.0.0 # jede Adresse im Netzwerk kann zugreifen # nur verwenden, wenn das Netzwerk von außen # wirklich sicher ist Port = 3306
Texteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
Tools Installieren
sudo apt-get update sudo apt-get install apache2-dev libapr1-dev libaprutil1-dev libdb-dev libonig-dev libgif-dev curl libfreetype6-dev libevent-dev libpthread-stubs0-dev libnghttp2-dev libpcre3 libpcre3-dev perl sudo apt-get install -y expat gdbm-l10n libxml2-dev liblz4-dev libgd-dev libedit-dev libxt-dev libxpm-dev libxext-dev libxdmcp-dev libxau-dev libx11-dev libsm-dev libice-dev libturbojpeg jbigkit-bin gettext
mögliche Installationsfehler beheben
sudo apt --fix-broken install
Apache neu starten
sudo systemctl restart apache2
mod_ssl aktivieren
sudo a2enmod ssl
Eigenes Zertifikat erstellen – da der Server nur im eigenen Netzwerk zu erreichen ist
reicht ein selbst generiertes Zertifikat – gültig für 1 Jahr
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/keyname.key -out /etc/ssl/certs/certificatname.crt
Config datei für Berlicrm erstellen
sudo nano /etc/apache2/sites-available/berlicrm.conf
das einfügen und anpassen
<VirtualHost *:80> ServerAdmin server@webadmin.de ServerName Servername oder IP-Adresse ErrorLog /var/log/apache2/berlicrm-error.log CustomLog /var/log/apache2/berlicrm-access.log common Redirect permanent "/" "https://Servername oder IP-Adresse/" </VirtualHost> <Directory /var/www/berlicrm> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> <VirtualHost *:443> ServerAdmin webmaster@rausbau.com ServerName Servername oder IP-Adresse ServerAlias Servername oder IP-Adresse DocumentRoot /var/www/berlicrm ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/certificatname.crt SSLCertificateKeyFile /etc/ssl/private/keyname.key </VirtualHost> <Directory /var/www/berlicrm> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory>
Texteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
Apache neu starten
sudo service apache2 restart
BerliCRM von Git laden
sudo wget https://github.com/berliCRM/berlicrm/archive/refs/tags/1.0.28.tar.gz
BerliCRM im html Webortner entpacken für Apache -xvzf
sudo tar -xvzf 1.0.28.tar.gz -C /var/www
Gepackte BerliCRM Datei löschen
sudo rm 1.0.28.tar.gz
den entpackten Ordner berlicrm-1.0.28 in berlicrm umbenennen
sudo mv /var/www/berlicrm-1.0.28 /var/www/berlicrm
Verzeichnis Eigentum zuweisen
sudo chown -R www-data:www-data /var/www/berlicrm
eigene Config aktivieren
sudo a2ensite berlicrm.conf
default Config deaktivieren
sudo a2dissite 000-default.conf
Konfiguration testen -> Output – Syntax OK
sudo apache2ctl configtest
Apache neu starten
sudo systemctl restart apache2
erstellen des .htaccess handlers
sudo nano /var/www/berlicrm/.htaccess
das einfügen
# supress php errors php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0
wenn alles geklappt hat Browser öffnen
IPadresse/berlicrmEs kommt eine Fehlermeldung, da wir unser eigenes Zertifikat verwenden.
Einfach auf Details – > danach auf Ich kenne das Risiko und möchte auf die Website gehen. Und im Anschluss -> fortsetzen klickenDas wars, jetzt könnt Ihr BerliCRM einrichten.
Hoffe es klappt alles
Beschwerden richtet an jemand anderes Fragen und Lob nehme ich gerneGruß Peter
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
› Forums › berliCRM Installation › Current