libresh / compose-matomo

Matomo docker-compose application for libre.sh-v1
GNU Affero General Public License v3.0
179 stars 67 forks source link

Database Setup issue #29

Open ejo4041 opened 6 years ago

ejo4041 commented 6 years ago

I am fairly new to docker, docker-compose, and piwik, but I did follow the instructions in the README to a T and I am getting this error at the Database setup page:

Error while trying to connect to the database server: SQLSTATE[HY000] [1045] Access denied for user 'root'@'172.24.0.3' (using password: YES)

The only modification I have made:

...(networks section)
-  lb_web:
-    external: true
+  #lb_web:
+    #external: true
...(web section)
+    ports:
        - 8078:80
-    - lb_web
+    #- lb_web

I believe I did the proper 'docker-compose down' and then 'MYSQL_ROOT_PASSWORD=mystrongpassword docker-compose up' after making these changes

Here the output I see from the logs:

Creating network "piwik_back" with driver "bridge" Creating piwik_db_1 ... Creating piwik_db_1 ... done Creating piwik_app_1 ... Creating piwik_app_1 ... done Creating piwik_cron_1 ... Creating piwik_web_1 ... Creating piwik_web_1 Creating piwik_web_1 ... done Attaching to piwik_db_1, piwik_app_1, piwik_cron_1, piwik_web_1 db_1 | 2017-12-12T15:50:00.529856Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). db_1 | 2017-12-12T15:50:00.531066Z 0 [Note] mysqld (mysqld 5.7.20) starting as process 1 ... db_1 | 2017-12-12T15:50:00.533981Z 0 [Note] InnoDB: PUNCH HOLE support available db_1 | 2017-12-12T15:50:00.533998Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins db_1 | 2017-12-12T15:50:00.534004Z 0 [Note] InnoDB: Uses event mutexes db_1 | 2017-12-12T15:50:00.534009Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier db_1 | 2017-12-12T15:50:00.534013Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3 db_1 | 2017-12-12T15:50:00.534017Z 0 [Note] InnoDB: Using Linux native AIO db_1 | 2017-12-12T15:50:00.534239Z 0 [Note] InnoDB: Number of pools: 1 db_1 | 2017-12-12T15:50:00.534322Z 0 [Note] InnoDB: Using CPU crc32 instructions db_1 | 2017-12-12T15:50:00.536302Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M db_1 | 2017-12-12T15:50:00.544706Z 0 [Note] InnoDB: Completed initialization of buffer pool db_1 | 2017-12-12T15:50:00.546019Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). db_1 | 2017-12-12T15:50:00.557518Z 0 [Note] InnoDB: Highest supported file format is Barracuda. db_1 | 2017-12-12T15:50:00.558318Z 0 [Note] InnoDB: Log scan progressed past the checkpoint lsn 12156556 db_1 | 2017-12-12T15:50:00.558329Z 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 12156565 db_1 | 2017-12-12T15:50:00.558332Z 0 [Note] InnoDB: Database was not shutdown normally! db_1 | 2017-12-12T15:50:00.558335Z 0 [Note] InnoDB: Starting crash recovery. db_1 | 2017-12-12T15:50:00.668125Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" db_1 | 2017-12-12T15:50:00.668142Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables db_1 | 2017-12-12T15:50:00.668229Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... db_1 | 2017-12-12T15:50:00.701466Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB. db_1 | 2017-12-12T15:50:00.702239Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. db_1 | 2017-12-12T15:50:00.702268Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active. db_1 | 2017-12-12T15:50:00.702755Z 0 [Note] InnoDB: Waiting for purge to start db_1 | 2017-12-12T15:50:00.752882Z 0 [Note] InnoDB: 5.7.20 started; log sequence number 12156565 db_1 | 2017-12-12T15:50:00.753016Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool db_1 | 2017-12-12T15:50:00.753123Z 0 [Note] Plugin 'FEDERATED' is disabled. db_1 | 2017-12-12T15:50:00.754936Z 0 [Note] InnoDB: Buffer pool(s) load completed at 171212 15:50:00 db_1 | 2017-12-12T15:50:00.756259Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. db_1 | 2017-12-12T15:50:00.756434Z 0 [Warning] CA certificate ca.pem is self signed. db_1 | 2017-12-12T15:50:00.757655Z 0 [Note] Server hostname (bind-address): ''; port: 3306 db_1 | 2017-12-12T15:50:00.757690Z 0 [Note] IPv6 is available. db_1 | 2017-12-12T15:50:00.757699Z 0 [Note] - '::' resolves to '::'; db_1 | 2017-12-12T15:50:00.757720Z 0 [Note] Server socket created on IP: '::'. db_1 | 2017-12-12T15:50:00.781301Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.781371Z 0 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.781383Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.781439Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.781444Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.781456Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.782919Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.782934Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2017-12-12T15:50:00.787724Z 0 [Note] Event Scheduler: Loaded 0 events db_1 | 2017-12-12T15:50:00.787940Z 0 [Note] mysqld: ready for connections. db_1 | Version: '5.7.20' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL) db_1 | 2017-12-12T15:50:00.787951Z 0 [Note] Executing 'SELECT FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check. db_1 | 2017-12-12T15:50:00.787955Z 0 [Note] Beginning of list of non-natively partitioned tables db_1 | 2017-12-12T15:50:00.799003Z 0 [Note] End of list of non-natively partitioned tables app_1 | [12-Dec-2017 15:50:01] NOTICE: fpm is running, pid 1 cron_1 | cron_1 | The configuration file {/var/www/html/config/config.ini.php} has not been found or could not be read. cron_1 | » Please check that /var/www/html/config/config.ini.php is readable by the user 'www-data'. cron_1 | cron_1 | app_1 | [12-Dec-2017 15:50:01] NOTICE: ready to handle connections cron_1 | cron_1 | cron_1 | cron_1 | [Zend_Db_Adapter_Exception] cron_1 | SQLSTATE[HY000] [2002] No such file or directory cron_1 | cron_1 | cron_1 | cron_1 | cron_1 | cron_1 | cron_1 | [PDOException] cron_1 | SQLSTATE[HY000] [2002] No such file or directory cron_1 | cron_1 | cron_1 | cron_1 | core:archive [--url="..."] [--force-all-websites] [--force-all-periods[="..."]] [--force-timeout-for-periods[="..."]] [--skip-idsites[="..."]] [--skip-all-segments] [--force-idsites[="..."]] [--force-periods[="..."]] [--force-date-last-n="..."] [--force-date-range[="..."]] [--force-idsegments="..."] [--concurrent-requests-per-website[="..."]] [--disable-scheduled-tasks] [--accept-invalid-ssl-certificate] [--php-cli-options[="..."]] cron_1 | cron_1 |

Any suggestions? I ssh'd to the piwik DB container, but I could not login to mysql with the root user and password I used. Maybe I am doing something wrong, or some modifications need to be made to the docker container. Thanks!

carl-utter commented 5 years ago

Based on your presented output, "Please check that /var/www/html/config/config.ini.php is readable by the user 'www-data'" I believe that you are experiencing a user/group permission issue, and so the file cannot be read.

POSSIBLE SOLUTION: Add yourself "$USER" to the www-data group and then adjust the file and directory permissions so that the file becomes readable.

APPROACH: Enter the commands below into your server's CLI and then restart the server and see if it fixes your problem:

sudo gpasswd -a "$USER" www-data
sudo chown -R "$USER":www-data /var/www/html
find /var/www/html -type f -exec chmod 0660 {} \;
sudo find /var/www/html -type d -exec chmod 2770 {} \;