Gelöst: Lokale Installation unter Linux Mint
Hallo zusammen, ich versuche seit Tagen, Contao 4.7 lokal auf einem aktuellen Linux Mint 19 zu installieren.
Situation:
- Installiert ist php 7.3.3 und Apache2 (bei Bedarf kann ich gerne exaktere Infos dazu geben)
- MySQL scheint auch zu laufen:
Code:
systemctl status mysql.service
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-04-03 12:03:28 CEST; 30min ago
Main PID: 1927 (mysqld)
Tasks: 28 (limit: 4915)
CGroup: /system.slice/mysql.service
??1927 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Apr 03 12:03:27 linux-123 systemd[1]: Starting MySQL Community Server...
Apr 03 12:03:28 linux-123 systemd[1]: Started MySQL Community Server.
Root verweist bereits auf /web und die Installation über den contao-manager.phar.php läuft ohne Fehler durch. Dabei habe ich die PHP-Umgebung als "Sonstige" eingetragen, der Pfad wird - offensichtlich korrekt - als /usr/bin/php angezeigt (Systemcheck zeigt auch korrekte PHP-Version an).
Nun komme ich also fehlerfrei in den Contao-Manager und kann Aktionen in den Reitern Packages und Maintenance durchführen, aber die Verknüpfungen zum Installtool und zum Backend sind tot:
Code:
Not Found
The requested URL /contao/install was not found on this server.
Apache/2.4.29 (Ubuntu) Server at localhost Port 80
Müsste da nicht lt. der Anleitung (https://www.youtube.com/watch?v=GIgmdc1QJVA) ein Fenster mit Lizenzinfos erscheinen? Oder lande ich auch dann im Nirvana, wenn noch keine Datenbank angelegt wurde?
Und zur Datenbank: unter welchem User muss die Datenbank bei einer lokalen Installation angelegt werden?
Testweise habe ich 'memory_limit = 512M' in der /etc/php/7.3/cli/PHP.ini gesetzt , sowie die .htaccess in /web um den Eintrag 'php_value memory_limit 1G' ergänzt. In der PHPINFO() wird mir eigenartigerweise auch nach Neustart von Apache 'memory_limit 128M' angezeigt. Keine Ahnung, ob das eine Rolle spielt und wie ich diesen Wert noch beeinflussen könnte...
Vielleicht noch ein weiterer Hinweis: Der Versuch, manuell ein Update einzuspielen:
Code:
$ php contao-manager.php self-update
In UpdateCommand.php line 46:
Your server does not meet the requirements of the next Contao Manager version.
self-update
Vielen Dank!!
AllowOverride in Apache2.conf !!
Bin inzwischen selbst etwas weiter gekommen dank diesem Tipp: https://community.contao.org/de/show...l=1#post497897
Nachdem ich in /etc/apache2/apache2.conf den Eintrag für AllowOverride von None auf All gesetzt hatte, erscheint endlich das Installtool!
Code:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Lokale Datenbank einbinden?
Habe über mysql jetzt eine leere Datenbank erstellt (Benutzer: root), kann diese aber bisher nicht in Contao einbinden.
Server ist wohl localhost, aber Port 3306? Und als Benutzernamen root? Kommt mir irgendwie falsch vor und funktioniert auch nicht...
Es ist:
Code:
netstat -tln
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
und anmelden geht offenbar auch:
Code:
sudo mysql -h localhost -u root contao47
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Aber mit localhost, Port 3306, User root und dem korrekten Datenbanknamen kommt die Rückmeldung: "Datenbankverbindung fehlgeschlagen!"
Habe auch noch einen neuen User angelegt: CREATE USER 'contao'@'localhost' IDENTIFIED BY 'password';
Aber auch mit diesem Usernamen (auch contao@localhost und nach Neustart von mysql-Service) gleiche Fehlermeldung...
Melde ich mich als User contao bei mysql an, finde ich mit SHOW DATABASES keine Datenbanken. Was erklären würde, warum auch Contao keine findet. Nur kann ich über die Konsole als User Contao auch keine Datenbank erstellen:
Code:
CREATE DATABASE contaodb;
ERROR 1044 (42000): Access denied for user 'contao'@'localhost' to database 'contaodb'
Was mache ich falsch?
Zusammenfassend als Tipps:
In wenigen Punkten als Hilfestellung hier ein paar Hinweise für eine funktionierende lokale Installation:
- apache2 und php7.x muss zunächst installiert sein und laufen
- Das root-Verzeichnis muss ins Unterverzeichnis /web zeigen, indem dann die contao-manager.phar.php liegt (siehe allg. Installationsanleitungen)
- in der /etc/apache2/apache2.conf muss zwingend hinter AllowOverride 'All' statt 'None' für den Pfad /var/www/ gesetzt werden (ist wohl nicht Standard!!)
- Als Root in mysql einloggen und zunächst eine Datenbank, als auch einen User anlegen (beides mit CREATE, siehe oben)
- Anschließend muss dieser User zwingend über GRANT ALL PRIVILEGES ON datenbank.* TO 'user'@'localhost'; auch die vollen Rechte auf die Datenbank bekommen.
- Erst jetzt lässt sich die Installation über localhost/contao-manager.phar.php erfolgreich durchführen.