Semantic media wiki in docker

418 views Asked by At

I am trying to get the SMW running in a Docker container. I get the main page up, but it will not let me log in. It says:

Login error Knowledgebase uses cookies to log in users. You have cookies disabled. Please enable them and try again.

My browser does have cookies enabled.

Anyone here run SMW in Docker and/or have a clue on how I can fix this issue?

Dockerfile:

FROM centos:centos7
ENV HOME /opt/smw

ADD . $HOME
RUN chmod 777 $HOME

# Add the ngix and PHP dependent repository
ADD nginx.repo /etc/yum.repos.d/nginx.repo

# Installing packages 
RUN yum -y install nginx 

# Installing PHP
RUN yum -y --enablerepo=remi,remi-php56 install nginx php-fpm php-common php-mysql php-xml

# Installing MySQL
RUN yum -y install wget && \
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm && \
    rpm -ivh mysql-community-release-el7-5.noarch.rpm && \
    yum -y update && \
    yum -y install mysql-server

# Installing supervisor
RUN yum install -y python-setuptools
RUN easy_install pip
RUN pip install supervisor

# Adding the configuration file of the nginx
ADD nginx.conf /etc/nginx/nginx.conf
ADD default.conf /etc/nginx/conf.d/default.conf

# Adding the configuration file of the Supervisor
ADD supervisord.conf /etc/

# Config MySQL
RUN chmod 755 $HOME/config_mysql.sh
RUN $HOME/config_mysql.sh

VOLUME ["/opt/smw"]
VOLUME ["/var/lib/mysql"]
EXPOSE 80

CMD ["/opt/smw/run.sh"]

supervisord.conf:

[supervisord]
;logfile=/var/log/supervisor/supervisord-nobody.log  ; (main log file;default $CWD/supervisord.log)
;logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
;logfile_backups=10          ; (num of main logfile rotation backups;default 10)
;loglevel=info               ; (log level;default info; others: debug,warn,trace)
;pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=true                ; (start in foreground if true;default false)
;user=nobody

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[program:php5-fpm]
command=/usr/sbin/php-fpm -c /etc/php-fpm.d
numprocs=1
autostart=true
autorestart=true

[program:php5-fpm-log]
command=tail -f /var/log/php5-fpm.log
stdout_events_enabled=true
stderr_events_enabled=true

[program:nginx]
command=/usr/sbin/nginx
numprocs=1
autostart=true
autorestart=true

nginx config:

server {
    listen  80;

    root /opt/smw;
    index index.html index.htm index.php;

    # Make site accessible from http://set-ip-address.xip.io
    server_name localhost;

    access_log /var/log/nginx/localhost.com-access.log;
    error_log  /var/log/nginx/localhost.com-error.log error;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.html /index.php?$query_string;
    }

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # Deny .htaccess file access
    location ~ /\.ht {
        deny all;
    }
1

There are 1 answers

0
Larry Martell On

Instead of installing remi-php56 I installed just plain php and then I did not have the issue.