Hi again boys and girls!, Well, i'd like to ask a little about something that i haven't been able to figure it out. ISPConfig has multiple features, and should be enough to handle most websites, but when we talk about server applications, can this be achieved with ISPConfig? Let's say, Odoo. A python server application, can a site using Odoo be managed with ISPConfig? Taking in account that: Runs on port 8069 Uses PostgreSQL Requires Reverse Proxy to serve SSL Another case could be GitLab, IIRC, Gitlab is written on Ruby, is it possible? I've learned how to run ownCloud successfully, but since ownCloud is a purely PHP+MySQL software it's not really that hard. So i wonder, are there limitations to what kind of software can be managed by ISPConfig? Which would be the preferred way to decide about the hosting approach to use? Thanks for the advice and time, i'm still on my learning path. Please if i'm out of place asking this here, please let me know.
Hi! This is my small "How to install Odoo in ISPConfig" howto, at least it works for install Odoo in a Debian based ISPConfig install. Install Postgresql in the server Create a website in IspConfig (example.com) Configure a Apache reverse proxy in IspConfig Panel by adding the following lines in example.com web domain configutarion in Web Domain->Options->Apache Directives Code: ProxyPreserveHost On ProxyPass / http://0.0.0.0:8069/ ProxyPassReverse / http://0.0.0.0:8069/ Create a Shell user for de website Login with the shell user of the website using ssh Follow the install from source install instructions in Odoo documentation. Be carefull and notice that several steps must be run as root (as install Python dependencies). Go to example.com (Note that there is no port added to the URL) and finish the deploy. If you have any problem following this steeps, let me know. I'm used several Apache reverse proxy for different Apps like Gogs Greetings, David
No need to install the server for every shell user. (I haven't use that approach). I'm using one install with databases filtering according to the domain so one site per db, and it works just fine I've tried using proxypass before but it didn't work, or maybe i was doing it incorrectly :'( Any how, thank you so much \o/!
Hi Ark74, Have installed odoo it is running on 0.0.0.0:8069. EDIT: Now proxy works with configuration, see below. How did you link odoo to a subdomain like odoo1.example.com and/or odoo2.example.com with ISPConfig? Database filtering, one site and db, same proxy configuration?! How to configure Database filtering? I had to use this Proxy configuration in Web Domain->Options->Apache Directives: Code: ProxyPreserveHost On ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://0.0.0.0:8069/ ProxyPassReverse / http://0.0.0.0:8069/ Thanks
Yeah, I doesn't use multi enterprise support in Odoo because every customer have Its Odoo installation customized in several ways. Every Odoo deployment have It's own subdomain and runs on a custom port for the reverse proxy configuration. Every shell user has It's own Postgres database user and It's owns databases (and only show Its own databases). In Debian I get this using this command: Code: $ sudo su - postgres -c "createuser -s $USER" I only use database filtering to hide users testing and development databases. I hope It's clear enough. Greetings, David
Yeah, data filtering. Just enable it in your odoo-server.conf dbfilter = %h Use - intead of point on the db names of the domain. (database) mysub-domain-com => (domain) mysub.domain.com As GoBo said, for some heavy customization you might wanna use separate installations. Thank you guys!
Hi, I am trying to ssh but I am getting the message Server refused our key I tried with different key ssh1 or ssh2; without key... with or without jailkit but always having the same answer. ISPConfig is installed on OVH Public Cloud. Any idea? Thanks
Hi! Sorry I just can't see how are these topics related. Maybe you might wanna open another thread for it.
Ohh sorry, I couldn't relate these too. Adding a proxy configuration is a web server configuration, by the error you mention it seems to be an issue with your ssh key or service. Let me know the new thread link and I'll try to help
Hi There, me again. I have tried multiple way to install Odoo on the same server than IPSConfig. I managed to get Odoo working but it is stopping my ispconfig... not able to login anymore. I was curious to understand which configuration you followed Thanks
Just create a new site and under Apache options paste what the comrades suggested. I used a site filter, so odoo would know what db to use according to the domain and db names. for the site: test.domain.com you'll need to name your db test_domain_com (and also enable db filter on odoo.conf) Are you using a VPS or VM? ISPConfig is enough load for a cheap VPS, adding odoo to the mixture could overwhelm it. Cheers!
Thanks a lot Ark74! but still not working I have 7gb ram, 2 cores (2.3Ghz per core) VM (offer B2-7). i think it should be enough to run both application But it is not working. could you please help. I am clarifying here what I followed, it might help you to understand where I am wrong... With Shell user, I am not able to install, i need to run with root access. I am following this tuto so where do you place the files? example here below 1) system user. Code: sudo adduser --system --home=/opt/odoo --group odoo in opt/odoo or under a folder place in /var/www/clients/client1/web3 2) Python libraries: Code: sudo pip install -r /opt/odoo/doc/requirements.txt sudo pip install -r /opt/odoo/requirements.txt under /opt/odoo or under a folder place in /var/www/clients/client1/web3 3) and what about odoo-server.conf... I tried both scenario with proper implication for related folder. I got Odoo working but not ISPConfig anymore Also, my ISPConfig is install under the domain : mail.mydomain.com I created a site for Odoo under the domain: odoo.mydomain.com so basically, same main website. is that wrong? anyhow, even if I install under odoo.anotherdomain.com, both should be accessible from ip with related port. **.***.**.***:8080 and **.***.**.***:8069 but it is not. Do you have any suggestion for helping me going in the right direction? Sorry but I am not yet very familiar, as you can see, with all these Thanks a lot
Well. I use ISPConfig mosthly for html/mysql/php sites, not really for some framework as Odoo or GitLab or other high lever web applications. For you to install it on the ISPConfig shell, you need to tweak permissions enable apps and more @GoBo uses that approach (one odoo installation per user), I preferer to use Odoo as a standalone system, so I use /opt/odoo where technically all users share the same installation ony differents databases. Your problem I guess is that you closed all ports except 8069 with ufw, that could explain why you don't have access with ssh (port 22), can I say web (80/443), maybe? Hope it helps clarifying. Let me know if you need further assistance.
Hey, Thanks a lot for your quick feedback. I understand your point here I will try to work on that and revert. Might take a while as I am new in these, I need to dig to figure out ... but learning though
Now don't forget to use the --proxy option in your Odoo or apache won't be able to tell the difference on the various databases. Cheers!
Hi, I follow this proxy configuration but in the web brower display "ERR_CONNECTION_REFUSED" on the console of Odoo: 2020-08-19 20:09:07,081 7288 INFO web1 odoo.modules.loading: Module web_tour: loading demo 2020-08-19 20:09:07,082 7288 INFO web1 odoo.modules.loading: loading web_tour/data/web_tour_demo.xml 2020-08-19 20:09:07,134 7288 INFO web1 odoo.modules.loading: 8 modules loaded in 6.08s, 0 queries 2020-08-19 20:09:07,323 7288 INFO web1 odoo.modules.loading: Modules loaded. 2020-08-19 20:10:07,385 7288 INFO web1 odoo.addons.base.models.ir_cron: Starting job `Base: Auto-vacuum internal data`. 2020-08-19 20:10:07,432 7288 INFO web1 odoo.addons.base.models.ir_attachment: filestore gc 281 checked, 2 removed 2020-08-19 20:10:07,449 7288 INFO web1 odoo.addons.base.models.ir_autovacuum: GC'd 0 user log entries 2020-08-19 20:10:07,450 7288 INFO web1 odoo.modules.registry: Registry changed, signaling through the database 2020-08-19 20:10:07,454 7288 INFO web1 odoo.addons.base.models.ir_cron: Job `Base: Auto-vacuum internal data` done. 2020-08-19 20:11:28,153 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('\x00\x04\x03\x00\x01\x02\x00') - - - 2020-08-19 20:11:28,153 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "üò�(Á+ H0¹ @NÐX_FïR�}D¥Ü�víZZï ▒ bRÍ6ôæ��»�´o¾J▒w&/ÛÅEO8¸ìº À+À/À,À0̨̩ÀÀ��/5ÿ�nltproduccion.mx " HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,154 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('A') - - - 2020-08-19 20:11:28,155 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "ü`rÉ�dOLùö�þ�Ùü®9�¡ nfÙ�&ñ(ºX~> A" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,297 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('\x00"\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00') - - - 2020-08-19 20:11:28,297 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "ü%��Bí´WP_¡r6Y=¸��÷�¨Ê�K¢{Y£rf�ö¨ Ôen�á½R1�¥Ô&$ü9�ù�â( �ϸ@å�"À+À/À,À0̨̩ÀÀ��/5" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,298 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request syntax ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03\x808\x81¤\x12\x08Æz+ÚÄÚ\x18¥ß\x1a6\x89') - - - 2020-08-19 20:11:28,299 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "ü�8�Æz+ÚÄÚ¥ß6�" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,626 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad HTTP/0.9 request type ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03Ë\x12¶ÖÛ2füjwÀh?4Ií\\È') - - - 2020-08-19 20:11:28,626 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "ü˶ÖÛ2füjwÀh?4Ií\ÈØ" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,627 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('\x7fès') - - - 2020-08-19 20:11:28,627 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "ü¥ûKßXqÙ»)ø0&ÁpáeO�f�ÊÃ�»L; Nc-¿l_&�³rÜr�8´1äbès" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,769 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('\x15\x01äýÍ~AC\x03ø\x00"\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00') - - - 2020-08-19 20:11:28,770 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "üvTh?5¸âe£¤7j2Ú£�8Ò·.�w ¥��� wwevö¹äýÍ~ACø"À+À/À,À0̨̩ÀÀ��/5" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:28,771 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] code 400, message Bad request version ('¸') - - - 2020-08-19 20:11:28,771 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:28] "üºÑæ~µ&ħæG.�ß·�:�¶×Èh¤*º%ÇÆ W�H;glß÷ѽa(ÉuTý%òβ¤(^<ñ ¸" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:33,952 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:33] code 400, message Bad request version ('\x00\x04\x03\x00\x01\x02\x00') - - - ÁìjüÐ08-19 20:11:33,953 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:33] "üßpZÖ£y]]ËýC�';Ï �êUmïîu ×1_Iqzª^�j"&72M°ÎÞÙ/¸«��W:¿Wo®# À+À/À,À0̨̩ÀÀ��/5ÿ�nltproduccion.mx " HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:33,953 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:33] code 400, message Bad request version ('\x00\x04\x03\x00\x01\x02\x00') - - - Ó�d�Lê{▒ÑER3t Ô[�5V,õ¤2¡¡òàxyßqetõ¶é÷$Z³£· À+À/À,À0̨̩ÀÀ��/5ÿ�nltproduccion.mx20:11:33] "üÞB�lÇq©( " HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:34,096 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:34] code 400, message Bad request version ('¹§Ñ\x7f,Þ`¹_Z_¼ÝÖ\x16\x00"\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00') - - - é¤Yü3GÈîJ<ÂQ�@²×eý) ,fs*ÒÜKK�¡&�4 ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:34] "üT&V¦)¼ôÐ�û ¹§,Þ`¹_Z_¼ÝÖ"À+À/À,À0̨̩ÀÀ��/5" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:11:34,098 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:34] code 400, message Bad HTTP/0.9 request type ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03§ï_A\x07KÍ¡b\x8eI@#\x86\x1b\x1aù¾;¸ÛC¢¡\x15»FÓB°@Ì') - - - 2020-08-19 20:11:34,098 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:11:34] "ü§ï_AKÍ¡b�I@#�▒¾;¸ÛC¢¡»FÓB°@Ì 2�Ï�Öþn¸�¬WAÆø3G�7䮩ÍÄKýB*g*"À+À/À,À0̨̩ÀÀ��/5" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:12:04,264 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] code 400, message Bad request version ('\x00\x04\x03\x00\x01\x02\x00') - - - 2020-08-19 20:12:04,265 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] "ü±nÒ¶!mÔ¢×�ÕÜø9bL� m2î�½ÉR ÚÃÔìÞz=º×!i\t�áÖB �¤Ao�.�õ À+À/À,À0̨̩ÀÀ��/5ÿ�nltproduccion.mx " HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:12:04,265 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] code 400, message Bad request version ('\x00\x04\x03\x00\x01\x02\x00') - - - 2020-08-19 20:12:04,266 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] "ü§0ú�ÍÖëÀôe$,ΨFv)¶âF}]º0�NÔ§� H�MÿáÛRÜOam^w}p%Ú�3c9ÍßÐ�| À+À/À,À0̨̩ÀÀ��/5ÿ�nltproduccion.mx " HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:12:04,410 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] code 400, message Bad request version (':!\x15\x00"\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00') - - - �°®ÎÎ,عaÇßÐ�ô��wب>�\L+�í¦R]ù Ñäf�5�_éÞÝÑmÄ>Aù)Ö)�uMÆ939.223 - - [19/Aug/2020 20:12:04] "ü :!"À+À/À,À0̨̩ÀÀ��/5" HTTPStatus.BAD_REQUEST - - - - 2020-08-19 20:12:04,411 7288 ERROR ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] code 400, message Bad request version ('\x84K©Ð(Ú') - - - 2020-08-19 20:12:04,411 7288 INFO ? werkzeug: 189.213.139.223 - - [19/Aug/2020 20:12:04] "üX~Ó|.HÇ�#ûF§�h¥_I ¶ �K©Ð(Ú" HTTPStatus.BAD_REQUEST - - - - PuTTY Please advise