Eine bestehende Joomla-Installation soll von einer älteren Debian-Version auf
Debian Buster umziehen. Die aktuelle Joomla-Installation nutzt zudem das
Easy-Folder-Listing (Anzeigen von Verzeichnisinhalten (in diesem Fall sind das
gemountete Windows-Verzeichnisse). Darum soll die selbe Joomla-Version
verwendet werden.
Das Datenbanksystem ist in Debian Buster ein anderes. Ein Update und
Upgrade der aktuell noch genutzten Debian Installation führte zu unerwünschten
Ergebnissen.
Diese Installation hier habe ich in einer Virtualbox getestet dann auf dem Echtsystem durchgeführt. Dabei hab ich mit putty gearbeitet. Dann konnte ich die hier gezeigten Kommandos einfach kopieren und in die Konsole einfügen. Dateien habe ich mit WinSCP übertragen.
# apt-get install apache2 apache2-utils
# systemctl start apache2 # systemctl enable apache2
# systemctl status apache2
Aufruf mit
http://ip-des-servers
Die Standardseite des Servers wird angezeigt.
# apt-get install mariadb-server
# mysql -u root MariaDB [(none)]> CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MariaDB [(none)]> GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'Ihr-Sicheres-Passwort'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
# apt-get install php php-phpseclib php-php-gettext php-imagick php7.3-imap php7.3-gmp php7.3-common php7.3-gd php7.3-mbstring php7.3-xml php7.3-json php7.3-curl php7.3-zip php7.3-bz2 php7.3-intl php7.3-mysql
Dieser Benutzer 'phpmyadmin' wird später verwendet, um phpMyAdmin über den browser zu nutzen.
# mysql -u root -p MariaDB [(none)]> GRANT ALL ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'Ihr-Passwort'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Die Datenbank heißt 'cms'.
# mysql -u root -p MariaDB [(none)]> CREATE DATABASE cms; MariaDB [(none)]> GRANT ALL ON cms.* TO 'cms_user'@'localhost' IDENTIFIED BY 'Geheimes-Kennwort'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Alternativ: Datei anders herunterladen und zum Beispiel mit WinSCP übertragen. Das umgeht das Thema mit vertrauenswürdigen Quelle.
wget https://files.phpmyadmin.net/phpMyAdmin/phpMyAdmin-5.0.4-all-languages.zip
Die Dateien werden nach '/usr/share' entpackt.
# unzip phpMyAdmin-5.0.4-all-languages.zip -d /usr/share
Der Ordner wird in 'phpmyadmin' umbenannt.
mv /usr/share/phpMyAdmin-5.0.4-all-languages/ /usr/share/phpmyadmin
# chown -Rfv www-data:www-data -R /usr/share/phpmyadmin
# nano /etc/apache2/conf-available/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> </Directory> <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory>
# mkdir /etc/phpmyadmin # htpasswd -c /etc/phpmyadmin/.htpasswd meinBenutzerName
# mkdir -p /var/lib/phpmyadmin/tmp # chown www-data:www-data /var/lib/phpmyadmin/tmp
# a2enconf phpmyadmin.conf
# systemctl restart apache2
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php # nano /usr/share/phpmyadmin/config.inc.php
In der Datei 'phpmyadmin/config.inc.php' an dieser Stelle...
$cfg['blowfish_secret'] = 'Hier-Ihr-komplexes-Kennwort-eintragen'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...ein komplexes Kennwort eintragen.
Lesefähigkeit für NTFS-Datenträger wird hier für das
Easy-Folder-Listing benötigt
Anleitung:
https://hans-lohrbach.de/anleitungen/de/debian-windows-freigabe-dauerhaft-mounten.html
# apt-get install cifs-utils
Es ist sicher aufgefallen, dass diese migrierte Website erst erreicht wird, wenn man in der URL die Adresse mit Unterordner angibt. Damit das nicht erforderlich ist, habe ich die originale 'index.html' des Debian-Systems so ersetzt, dass man sogleich in die Joomla-Installation geleitet wird. Ich wollte einfach die Joomla-Installation in einem eigenen Ordner haben. Bei einem Provider spielt das meist keine Rolle.
<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://server-ip/cms/index.php">
Quellen
https://www.tecmint.com/install-joomla-on-debian/
https://linuxhint.com/install_phpmyadmin_debian_10/
https://www.florian-fritsch.com/phpmyadmin-unter-debian-buster-installieren-und-absichern/