https://www.youtube.com/watch?v=7ZOoPRqDKaw
https://www.youtube.com/watch?v=7ZOoPRqDKaw
I realized that fail2ban wasn’t banning SSH fail login attempts…

My server’s time is different from the one being logged by rsyslog ’cause I had to change my timezones once…….. 🙂
Lets restart rsyslog.
sudo service rsyslog restart


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

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! 🙂
https://www.youtube.com/watch?v=TUC2b-OSZ00
https://youtu.be/2XPIfUhpofI?t=2m34s
As heard on Good For Nothing – Busy P + Justice (Ed Banger records / Paris / FR) – 2007
Discourse has a recent (5month old?) template to handle with this.

Lets add – “templates/cloudflare.template.yml” to our templates scheme…
nano containers/app.yml
Save it and rebuild the app! 🙂
./launcher rebuild app

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

For a Discourse instance to function properly Email must be set up. Use the
SMTP_URLenv 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
cd /var/discourse/ ./launcher rebuild app
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ” which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Lets edit my.cnf
sudo nano /etc/mysql/my.cnf
and add the following lines to it, save and exit nano….
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Lets restart mysql
sudo service mysql restart
It should work! 😉