Eine Arbeitsnotiz zur Joomla Installaion. Die arbeit wurde nicht genauer überprüft. Vielleicht ist nicht alles so beschrieben wie es sein soll. Es ist geplant das in der näheren Zukunft zu überprüfen und weiter auszubauen.
##### # Joomla installation unter Gentoo mit Apache und PostgreSql Datenbank. # # Hier fehlen noch die nötigen Gentoo-Pakete. # ##### ##### # Parameter die veränderlich sind. Domain-Name: <domain>.de IP-Adresse : <ip-addresse> # ##### ##### # Verzeichnisse vorbereiten # Ich installiere die Daten für eine Domain immmer unter /home/<domain>.de/ # Joomla cd /home mkdir <,domain>.de chown <user>:apache <domain>.de chmod u+rwx,g-w,o-rwx <domain>.de mkdir httpd_doc mkdir httpd_log chown u0001:apache httpd_doc httpd_log chmod u+rwx,g-w,o-rwx httpd_doc httpd_log # Letsencrypt cd /home/<domain>.de mkdir .well-known chown u0001:apache .well-known chmod o-rwx .well-known cd .well-known mkdir acme-challenge chown u0001:apache acme-challenge chmod o-rwx acme-challenge # ##### ##### # Letsencrypt SSL Zertifikate anfordern. # Mit der Option --dry-run kann man das Testen über die Letsencrypt # Test-Server. Das sollte man auch tun weil man sonst von Letsencrypt für eine # Woche gesperrt wird. Wenn alles Fehlerfrei läuft kann man die Option # --dry-run entfernen und bekommt dann das Produktiv Nutzbare Zertifikat. # Nach Aufruf des Kommandos muss man im Webroot zu dieser Domain eine Datei # anlegen an der Letsencrypt erkennt das man Zugriff auf diese Domain hat. # Das Verzeichniss ".well-known" mit Unterverzeichnis wurde bereits oben # angelegt. Es fehlt noch die Datei mit dem Zertifikat. Beides wird nach start # des Kommandos angezeigt und muss noch angelegt werden. # Das Kommando gibt genaue Anweisungen dazu aus. certbot certonly --dry-run --manual --webroot-path=/home/<domain>.de/httpd_doc -d <domain>.de -d www.<domain>.de # War alles Ok dann kann man die Option "--dry-run" entfernen. Man erhält dann # ein neues Zertifikat. Diese laufen nach drei Monaten ab und können dann mit # dem Kommando unten ernert werden. certbot certonly --manual --webroot-path=/home/<domain>.de/httpd_doc -d <domain>.de -d www.<domain>.de # Ein vorhandenes Zertifikat erneuern certbot certonly --renew-by-default -a webroot -n --expand --webroot-path=/home/<domain>.de/httpd_doc -d <domain>.de -d www.<domain>.de # ##### ##### # Konfiguration für apache anlegen. # Domain: <domain>.de und www.<domain>.d (dazu muss der DNS entssprechend konfiguriert sein). # Mit automatischer Weiterleitung von http zu https. # Für https werden die oben angeforderten Letsencrypt Zertifikate verwendet. # Weiterleitung von http auf https Datei im Verzeichniss: /etc/apache2/vhosts.d/<domain>.de.conf Inhalt: # Domain <domain>.de <VirtualHost <ip-adresse>> ServerAdmin hostmaster@<domain>.de DocumentRoot /home/<domain>.de/httpd_doc/ ServerName www.<domain>.de ServerAlias <domain>.de ## Dokument Root ## Wird benötigt wenn man zum ersten mal ein Letsencrypt Zertifikat anfordert. ## Um ein Zertifikat zu erhalten muss der apache eine Datei ausliefern können. # <Directory /home/hts-software.de/httpd_doc/> # Require all granted # Options -ExecCGI -Includes -Indexes # </Directory> # http auf https umleiten. <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> ErrorLog /home/<domain>.de/httpd_log/ErrorLog CustomLog /home/<domain>.de/httpd_log/AccessLog common CustomLog /home/<domain>.de/httpd_log/RefererLog referer CustomLog /home/<domain>.de/httpd_log/AgentLog agent </VirtualHost> # Konfiguration des Webroot, Serveradmin, usw. Datei im Verzeichniss: /etc/apache2/vhosts.d/<domain>.de-ssl.conf Inhalt: # Domain <domain>.de <VirtualHost <ip-addresse>:443> ServerAdmin hostmaster@<domain>.de DocumentRoot /home/<domain>.de/httpd_doc/Doc ServerName www.<domain>.de ServerAlias <domain>.de # Dokument Root <Directory /home/<domain>.de/httpd_doc/Doc/> Require all granted Options -ExecCGI -Includes -Indexes php_admin_value open_basedir /home/elatech.de/httpd_doc:/home/elatech.de/httpd_doc/tmp php_admin_value upload_tmp_dir /home/elatech.de/httpd_doc/tmp AddType application/x-httpd-php .php .htm .html </Directory> SSLCertificateFile /etc/letsencrypt/live/<domain>.de/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/<domain>.de/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf ErrorLog /home/<domain>.de/httpd_log/ErrorLog CustomLog /home/<domain>.de/httpd_log/AccessLog common CustomLog /home/<domain>.de/httpd_log/RefererLog referer CustomLog /home/<domain>.de/httpd_log/AgentLog agent </VirtualHost> # ##### ##### # PostgreSql Datenbank vorbereiten. # Ich sehe das /home als Verzeichniss in dem Anweder Daten gesammelt werden. # Datenbanken sind Anwender Daten. Das erleichtert ungemein die # Datensicherung. Wenn alles aus /home gesichert ist hat man sicher das # wichtigste. # Datenbank Cluster anlegen. cd /home mkdir PostgreSql-13 chown postgres:postgres PostgreSql-13 # Den Datenbank Cluster initialisieren. cd /home/PostgreSql-13 su postgres initdb13 -D /home/PostgreSql-13/ exit # Das Verzeichnis wo der Datenbank Cluster zu finden ist muss man einstellen. Datei : /etc/conf.d/postgresql-13 Inhalt: PGDATA="/etc/postgresql-13/" # Die PostgreSql Konfiguration muss man aus dem Datenbank Cluster verschieben. mv /home/PostgreSql-13/*.conf /etc/postgresql-13/ # PostgreSql Server automatisch starten rc-config add postgresql-13 default # PostgreSql Server manuell starten /etc/init.d/postgresql-13 start # Admin Datenbank User anlegen. # Die Frage nach dem Superuser mit ja beantworten. su postgres createuser --interactive -P u0001 exit # Joomla Datenbank User anlegen. # Die Frage nach dem Superuser mit nein beantworten. # Die Frage nach der Erzeugung von Datenbanken mit nein beantworten. # Die Frage nach der Erzeugung anderer Rollen (User) mit nein beantworten. su postgres createuser --interactive -P u0002 exit # Joomla Datenbank anlegen su alex createdb13 joomla_elatech_de exit # Mit dem SQL Tool mit der Joomla Datenbank verbinden # u0002 ist der Username für die Joomla Datenbank. Der hat keine besonderen # Rechte. psql joomla_elatech_de u0002 # ##### ##### # PHP Installieren/Konfigurieren # Bei Gentoo nötige Einstellungen vor der Installation # Notwendige USE-Flag setzen. Datei : /etc/portage/package.use Ändern: ev-lang/php postgres zip intl curl **** Diese EInstellungen noch suchen !!!! intl verfügbar An Datei: /etc/php/apache2-php8.0/php.ini Ändern: memory_limit = 400M upload_max_filesize = 100M post_max_size = 30M max_execution_time = 30 disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open output_buffering=Off Bei Änderungen in der php.ini muss man den apache Neustarten: /etc/init.d/apache2 restart # ##### ##### # Joomla Herunterladen und auf dem Server installieren. # Download von Joomla # Der Link muss immer wieder auf die aktuelle Version geändert werden. # Heruntergeladen wird in das Dokumentroot das bei der apache Konfiguration # benutzt wurde. cd /home/elatech.de/httpd_doc/ wget https://downloads.joomla.org/cms/joomla4/4-0-2/Joomla_4-0-2-Stable-Full_Package.zip # Die Joomla Datei entpacken. unzip Joomla_4-0-2-Stable-Full_Package.zip # Es müssen die Dateirechte eingestellt werden. chown -R u0001:apache * find . -type d -exec chmod 0770 {} ; # Allen Verzeichnissen die Rechte geben find . -type f -exec chmod 0660 {} ; # Allen Dateien die Rechte geben find . -type f -name ".htaccess" -exec chmod 0660 {} ; # Htaccess-Dateien nur Leserechte geben und Schreibrechte wegen Joomla-Update. find . -type f -name "*.css" -exec chmod 0660 {} ; # Allen CSS-Dateien Leserechte geben und Schreibrechte wegen Joomla-Update. # Starten der Joomla Installation www.<domain>.de/index.php # Folgende Einstellungen muss man machen Sprache auswählen Joomla Superuser festlegen # ##### ##### # Eine Photo Galerie Erweiterung installieren # Installation von URL in Joomla benutzt # Diese Erweiterung geht nicht mit PostgreSql wird vom Entwickler nicht # unterstützt. URL: https://github.com/PhocaCz/PhocaGallery/releases/download/4.4.3/com_phocagallery_v4.4.3.zip # #####