Monthly Archives: July 2016

Negotiation: discovered file(s) matching request

 

AH00687: Negotiation: discovered file(s) matching request: /home/httpd/html/domain.com/public_html/login (None could be negotiated)., referer: http://www.domain.com/

Under the domain.com.conf I had

Options Indexes FollowSymLinks MultiViews

The solution is to remove MultiViews from it.

Options Indexes FollowSymLinks

 

Source: http://www.bennadel.com/blog/2218-negotiation-discovered-file-s-matching-request-none-could-be-negotiated.htm

discourse – htpasswd protected

discour-apache-htpasswd

I have client who *needs* discourse under a subdomain that should be only accessed by users who have a valid username & password in a .htpasswd….
Since discourse doesn’t use Apache I had to implement Apache ProxyPass  to solve this ‘issue’…

This is how it looks…

<VirtualHost *:80>

 ServerName social.subdomain.com

 ProxyPreserveHost Off
 ProxyPass / http://192.241.XXX.XX/
 ErrorLog /data/logs/discourse_error.log

 <Location />
   AuthType Basic
   AuthName "Only for members"
   AuthBasicProvider file
   AuthUserFile "/path/to/.htpasswd"
   Require valid-user
 </Location>

</VirtualHost>

This might not be the best solution….. comments are appreciated! 🙂

discourse & cloudflare – show real users IP address

Discourse has a recent (5month old?) template to handle with this.

Captura de ecrã 2016-07-24, às 14.51.40

Lets add   – “templates/cloudflare.template.yml” to our templates scheme…

nano containers/app.yml

Save it and rebuild the app! 🙂

./launcher rebuild app

Captura de ecrã 2016-07-24, às 15.01.51

Et voilá!, my  ISP (portuguese) IP! 🙂

Captura de ecrã 2016-07-24, às 15.09.51

More readings

Discourse – email and Job exception: Net::ReadTimeout

 

Email

For a Discourse instance to function properly Email must be set up. Use the SMTP_URL env var to set your SMTP address, see sample templates for an example. The Docker image does not contain postfix, exim or another MTA, it was omitted because it is very tricky to set up correctly.

Source: https://github.com/discourse/discourse_docker

Yah! Discourse doesn’t came with any MTA (mail transfer agent).
I had to install Postfix so that Discourse could send out emails.

My emails weren’t getting delivered…
I was getting the following error on discourse logs(/var/discourse/shared/standalone/log/rails/production.log)….

Job exception: Net::ReadTimeout

After a few tweaks… I got it working…
This is my /var/discourse/containers/app.yml excerpt….

## TODO: List of comma delimited emails that will be made admin and developer
 ## on initial signup example '[email protected],[email protected]'
 DISCOURSE_DEVELOPER_EMAILS: '[email protected]'

## TODO: The SMTP mail server used to validate new accounts and send notifications
 DISCOURSE_SMTP_ADDRESS: mail.domain.com
 DISCOURSE_SMTP_PORT: 25
 DISCOURSE_SMTP_USER_NAME: [email protected]
 DISCOURSE_SMTP_PASSWORD: XXXXXXX
 DISCOURSE_SMTP_ENABLE_START_TLS: false
Rebuild the APP
cd /var/discourse/
./launcher rebuild app
Readings