[Support] Linuxserver.io - Apache


Recommended Posts

Can this Apache docker container run python scripts?  I have installed Apache on a Raspberry Pi and I have it configured to run python scripts in /usr/lib/cgi-bin.  For example when I go to a browser and get the file http://myserver/cgi-bin/lightson.py it will execute the file /usr/lib/cgi-bin/lightson.py.

 

Can I do that with this docker container?  If not this container is there another one to do this or would I have to do this in a Linux VM?

Link to comment

Hi - curious how to best make this dockerfile configurable so that additional modules can be loaded - ie: can we enhance to provide an optional parameter in which user can specify additional a2enmod modules that they wish loaded, in addition to those that are default in this docker?

 

My use is that I would like to enable disk caching for forward proxy, and I believe that I need both mod_cache and mod_disk_cache to be loaded.

 

Thanks,

-Jim

Link to comment

Can this Apache docker container run python scripts?  I have installed Apache on a Raspberry Pi and I have it configured to run python scripts in /usr/lib/cgi-bin.  For example when I go to a browser and get the file http://myserver/cgi-bin/lightson.py it will execute the file /usr/lib/cgi-bin/lightson.py.

 

Can I do that with this docker container?  If not this container is there another one to do this or would I have to do this in a Linux VM?

 

Hi - curious how to best make this dockerfile configurable so that additional modules can be loaded - ie: can we enhance to provide an optional parameter in which user can specify additional a2enmod modules that they wish loaded, in addition to those that are default in this docker?

 

My use is that I would like to enable disk caching for forward proxy, and I believe that I need both mod_cache and mod_disk_cache to be loaded.

 

Thanks,

-Jim

 

 

http://lime-technology.com/forum/index.php?topic=43858.msg531190#msg531190

Link to comment
Ok, so I have run the a2enmod to allow cgi but I believe I am supposed to put some code like:

<Directory /srv/www/yoursite/public_html/cgi-bin>
        Options ExecCGI
        SetHandler cgi-script
    </Directory>

 

Into a config file.  What file does it go into?  /apache/sites-conf/default.conf or /apache/apache.conf?  And what is the path in the directory line above that I should be using?  I assume that I should create a cgi-bin folder, but where should I put it?

Link to comment
  • 3 months later...

Hello everyone,

 

does anybody else have problems with their SSL Certificates after the latest update?

It seems that it only takes cert.crt and private.key in the /config/keys directory, regardless of what is configured in the virtual hosts in /config/apache/sites-confs/default.conf.

 

If I try to replace private.key and cert.crt with my own key and certificate, the cert.crt gets overwritten when I restart the docker container.

When I list the /config/keys directory after the container restart I see two files: cert.crt (the one I copied) and cert.crt\r (generated by the startup script)

Any Advice on this?

Link to comment
  • 2 weeks later...
6 hours ago, wayner said:

I want to get back to solving this issue, which I never got around to before but this link appears to be broken.  Would it be possible to fix it?  Thanks.

It would if I could remember what the hell I linked to.  

Link to comment
15 minutes ago, wayner said:

It must be something to do with a2enmod to allow for python script execution.

I still have absolutely no idea what I linked to, it was months ago, I can't even remember what I had for dinner last night.....

Link to comment
On 2017-5-16 at 8:32 PM, wayner said:

Thanks Squid - but that seems to discuss Webdav - is that the same thing as being able to run Python scripts.  On plain vanilla Linux, like Ubuntu or Raspbian, I would be able to execute python scripts in /usr/lib/cgi-bin by hitting a url like http://localhost/cgi-bin/hello.py and you turn this on with one or two simple edits to an Apache config file.

Squid I think is pointing you to the post that describes how to run userscripts.sh this can be triggered at container startup

Link to comment
5 minutes ago, CHBMB said:

Squid I think is pointing you to the post that describes how to run userscripts.sh this can be triggered at container startup

lol  No.. I was pointing to the link that you referenced that you couldn't remember why you originally linked to it...  Beyond that, I take no responsibility or blame, or kudos.  BTW, what did you have for dinner yesterday?

Link to comment

Yeah, I know I originally linked to it.  And I think that's what I originally would have pointed to.  

 

Last night I do remember actually it was a steak pie from a local farm shop, it was delicious.   We currently have my wife's vegan friend stopping with us so tonight was far less tasty.  Basically noodles and rabbit food, so I keep thinking back to that pie.....

Link to comment
26 minutes ago, Squid said:

lol  No.. I was pointing to the link that you referenced that you couldn't remember why you originally linked to it...  Beyond that, I take no responsibility or blame, or kudos.  BTW, what did you have for dinner yesterday?

I had calamari, Squid :D

Link to comment
  • 4 weeks later...

Hi,

 

I have installed this docker together with LetsEncrypt.

 

I want to run a Wordpress-Site and in future maybe also some other Webpages.

Therefore I created a subdomain "wordpress.my-domain.at" which points to my public adress, which is forwarded to my internal Lets-Encrypt-Docker.

On the Apache Docker I installed wordpress under www/wordpress.

 

If I connect via "ip-apache-docker/wordpress" then I can connect to wordpress.

 

Now I have two problems:

 

1) If I enter wordpress.my-domain.com, then I am getting a browser error "ERR_TOO_MANY_REDIRECTS"

2) How can I increase the "upload_filesize"?

 

Here is the LetsEncrypt Config:

server {
    listen 443 ssl;
    server_name wordpress.my-domain.at;

    root /config/www;
    index index.html index.htm index.php;

    ###SSL Certificates
    ssl_certificate /config/keys/letsencrypt/fullchain.pem;
    ssl_certificate_key /config/keys/letsencrypt/privkey.pem;

    ###Diffie▒..Hellman key exchange ###
    ssl_dhparam /config/nginx/dhparams.pem;

    ###SSL Ciphers
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-A
ES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SH
A384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-
SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!ED
H-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

    ###Extra Settings###
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

        ### Add HTTP Strict Transport Security ###
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header Front-End-Https on;

    client_max_body_size 0;

    location / {
        proxy_pass https://192.168.1.249:443;
        proxy_max_temp_file_size 2048m;
        include /config/nginx/proxy.conf;
    }
}

 

And this is the site-conf from the apache docker:

<VirtualHost *:80>
    DocumentRoot /config/www/wordpress/
    ServerName wordpress.my-domain.at
    <Directory "/config/www/wordpress/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName wordpress.my-domain.at
    SSLEngine on
    SSLCertificateFile "/config/keys/cert.crt"
    SSLCertificateKeyFile "/config/keys/cert.key"
  DocumentRoot /config/www/wordpress/

    <Directory "/config/www/wordpress/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Best Regards,

Johannes

Link to comment

Hi, 

 

I am still fighting with the LetsEncrypt and Apache Config to get Wordpress working.

 

I have LetsEncrypt (dedicated IP) already running with NextCLoud Docker (Dedicated IP) for a domain named cloud.my-domain.at

 

Now I want to have wordpress.my-domain.at going to a wordpress installation on the Apache Docker.

 

Therefore I added a sites-conf on LetsEncrypt with the following settings:

 

server {
    listen 443 ssl;
    server_name wordpress.my-domain.at;

    root /config/www;
    index index.html index.htm index.php;

    ###SSL Certificates
    ssl_certificate /config/keys/letsencrypt/fullchain.pem;
    ssl_certificate_key /config/keys/letsencrypt/privkey.pem;

    ###Diffie▒..Hellman key exchange ###
    ssl_dhparam /config/nginx/dhparams.pem;

    ###SSL Ciphers
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-
AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA
-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!
aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

    ###Extra Settings###
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

        ### Add HTTP Strict Transport Security ###
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header Front-End-Https on;

    client_max_body_size 0;

    location / {
        proxy_pass https://192.168.1.249:443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_max_temp_file_size 2048m;
        include /config/nginx/proxy.conf;
    }
}

192.168.1.249 is my Apache Docker

 

On Apache I have created a subdirectory /config/www/test with my wordpress installation.

 

Then I created a sites-conf for wordpress:

 

<VirtualHost *:80>
    DocumentRoot /config/www/test/
    ServerName wordpress.my-domain.at

    <Directory "/config/www/test/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName wordpress.my-domain.at
    SSLEngine on
    SSLCertificateFile "/config/keys/cert.crt"
    SSLCertificateKeyFile "/config/keys/cert.key"
  DocumentRoot /config/www/test/

    <Directory "/config/www/test/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

I removed the "default"-sites-conf.

 

If I now try to access "https://wordpress.my-domain.at" then I am getting in the Apache-Logs:

 

wordpress.my-domain.at:443 192.168.1.250 - - [13/Jun/2017:08:50:02 +0200] "GET /favicon.ico HTTP/1.1" 400 815 "https://wordpress.my-domain.at/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"

192.168.1.250 is the LetsEncrypt-Docker

 

On the Browser I am getting:

 

Bad Request

Your browser sent a request that this server could not understand.
Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.4.7 (Ubuntu) Server at wordpress.my-domain.at Port 443

 

Any ideas....

Link to comment
16 minutes ago, CHBMB said:

Why don't you just install Wordpress in the LetsEncrypt container?

 

Valid question:

 

1) I read somewhere that apache should be more flexible and I have already some basic knowledge with apache vhosts.

 

2) As posted in the letsencrypt section I am also not able to get a basic letsencrypt setting working to point a subdomain to /config/www/subdomain of my letsencrypt docker...

LetsEncrypt-Thread

I guess I only need a starting point to figure it out how it is working, but currently I am struggeling with the basics...

Link to comment
7 minutes ago, ebnerjoh said:

Valid question:

 

1) I read somewhere that apache should be more flexible and I have already some basic knowledge with apache vhosts.

 

2) As posted in the letsencrypt section I am also not able to get a basic letsencrypt setting working to point a subdomain to /config/www/subdomain of my letsencrypt docker...

LetsEncrypt-Thread

I guess I only need a starting point to figure it out how it is working, but currently I am struggeling with the basics...

 

Responded in the LE thread

Link to comment
  • 2 weeks later...

Hi,

 

I have a special request:

 

I have currently running a Joomla-Website at a public hoster. I have installed Akeeba-Backup and doing currently a manual backup on a regular basis to the apache and maria-db docker.

 

Now I found the Unite-Option of Akeeba Bakcup which allows fully automated backups of Websites.

 

The problem is, how I could execute the script as it requires PHP-CLI:

 

Quote

UNITE's CRON script is as simple as it goes. It simply calls the CLI (command line) version of PHP with a sole parameter: UNITE's main script file. The only pre-requisite is that you use the command line PHP binary (a.k.a. PHP CLI) of the latest PHP 5.2.x or 5.3.x release. A sample CRON command line looks like this:


/usr/bin/php5-cli /home/myuser/unite/unite.php

 

Is this doable with the apache-docker or via a different way on the Unraid Server?

 

Br,

Johannes

Link to comment
  • 1 month later...

I'm having an issue relating to this docker however it's a network connectivity issue.    I am using br0 as the network type with it's own local IP address.  

 

I want to be able to access the apache server from subdomain.mydomain.com.  Everything seems to be working fine when I test the site within the network, but I cannot connect when outside the network (ie: accessing from my phone).

 

When I enable 1:1 nat on our cisco router (RV082) to map the external public ip address to the local ip address of the docker it breaks the connection.  

When I exec into the docker I can no longer ping or access external domain names or ip addresses whereas I can when the 1:1 nat on the router is removed.  Could it be an issue with the router firmware not supporting it?

 

Is this the suggested method of accessing the apache server with my own subdomain?

 

Thanks for your help.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.