› Forums › berliCRM Installation › Current
Schlagwörter: installation
- Dieses Thema hat 0 Antworten sowie 1 Teilnehmer und wurde zuletzt vor vor 5 Jahren, 1 Monat von
Peter aktualisiert.
-
AutorBeiträge
-
-
29. März 2021 um 9:12 Uhr #1818
Peter
TeilnehmerDieses 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-commonSSH Server installieren
sudo apt install openssh-serverKontrolle ob SSH aktiv ist – mit ‘q’ verlassen
sudo systemctl status sshSSH als Service aktivieren
sudo systemctl enable ssh sudo systemctl start sshOrdner 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_keysSSH-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_keysSSH Härten und absichern
erstellen einer Backup der sshd_config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bakaktuell festgelegte Optionen überprüfen
sudo sshd -Tmit 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_confignachstehendes 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-serverTexteditor verlassen – bei nano CTRL+x (STRG+x) – save mit y bestätigen
sshd_config neu laden
sudo systemctl restart sshverwendeten SSH-Port anzeigen
grep -i port /etc/ssh/sshd_configServer verlassen
exitPuTTY 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_keysUFW Firewall einrichten
Firewall Status abfragen
sudo ufw statuswenn inaktiv UFW Firewall aktivieren und mit ‘y’ bestätigen
sudo ufw enablealle eingehenden Anfragen blocken
sudo ufw default deny incomingalle ausgehenden Anfragen erlauben
sudo ufw default allow outgoingIPv6 Unterstützung aktivieren
sudo cat /etc/default/ufwmit 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 3306als 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
wso 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 SSHPortoder die Standard SSH Port Freigabe
enspricht -> port 22
sudo ufw allow sshzur Kontrolle Firewall Status abfragen
sudo ufw statusUFW Firewall neustarten
sudo ufw reloadUFW Firewall als Service einrichten -> UFW wird bei jedem Neustart aktiviert – mit ‘q’ verlassen
sudo systemctl status ufw.serviceInstallation des Apache2 Webservers
sudo apt install apache2zur Kontrolle ob der Apache Server aktiviert ist – active (running)
sudo systemctl status apache2wenn nicht aktivieren – active (running)
sudo systemctl is-enabled apache2zum 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.htmlphp 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/phpSystem update
sudo apt updatephp7.2 installieren
sudo apt install php7.2Standard Version auswählen
sudo update-alternatives --set php /usr/bin/php7.2PHP 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 zlib1gggf. dafür sorgen die neueren Versionen deaktiviert sind
sudo a2dismod php8.0 sudo a2dismod php7.4 sudo a2dismod php7.3PHP7.2 aktivieren
sudo a2enmod php7.2anpassen der php.ini
sudo nano /etc/php/7.2/apache2/php.inimit 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 apache2PHP-Info File erstellen um PHP zu testen und Extension überprüfen
sudo nano /var/www/html/info.phpdas 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.phpMariaDB und DB-client installieren
sudo apt-get install mariadb-server mariadb-client -yStatus von MariaDB abrufen – active (running) – mit ‘q’ wieder raus
sudo systemctl status mariadbfall MariaDB nicht aktiv ist – active (running)
sudo systemctl is-enabled mariadbzur Grundsicherung von MariaDB
sudo mysql_secure_installationRoot-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 mariadbUser 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 versionanpassen der config
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfdie 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 = 3306Texteditor 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 gettextmögliche Installationsfehler beheben
sudo apt --fix-broken installApache neu starten
sudo systemctl restart apache2mod_ssl aktivieren
sudo a2enmod sslEigenes 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.crtConfig datei für Berlicrm erstellen
sudo nano /etc/apache2/sites-available/berlicrm.confdas 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 restartBerliCRM von Git laden
sudo wget https://github.com/berliCRM/berlicrm/archive/refs/tags/1.0.28.tar.gzBerliCRM im html Webortner entpacken für Apache -xvzf
sudo tar -xvzf 1.0.28.tar.gz -C /var/wwwGepackte BerliCRM Datei löschen
sudo rm 1.0.28.tar.gzden entpackten Ordner berlicrm-1.0.28 in berlicrm umbenennen
sudo mv /var/www/berlicrm-1.0.28 /var/www/berlicrmVerzeichnis Eigentum zuweisen
sudo chown -R www-data:www-data /var/www/berlicrmeigene Config aktivieren
sudo a2ensite berlicrm.confdefault Config deaktivieren
sudo a2dissite 000-default.confKonfiguration testen -> Output – Syntax OK
sudo apache2ctl configtestApache neu starten
sudo systemctl restart apache2erstellen des .htaccess handlers
sudo nano /var/www/berlicrm/.htaccessdas 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 0wenn 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
