Server Application Software + ISPConfig

Discussion in 'General' started by Ark74, Apr 5, 2016.

  1. Ark74

    Ark74 Member

    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.
     
    GoBo likes this.
  2. GoBo

    GoBo New Member

    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
     
    nut, Ark74 and till like this.
  3. Ark74

    Ark74 Member

    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/!
     
    nut likes this.
  4. nut

    nut New Member

    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
     
    Last edited: Oct 18, 2016
  5. GoBo

    GoBo New Member

    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
     
  6. Ark74

    Ark74 Member

    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!
     
  7. Adrien

    Adrien Member

    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
     
  8. Ark74

    Ark74 Member

    Hi!
    Sorry I just can't see how are these topics related.
    Maybe you might wanna open another thread for it.
     
  9. Adrien

    Adrien Member

    ;) I follow that procedure and answer from it but yeah, will open a new thread.
    thanks
     
  10. Ark74

    Ark74 Member

    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 :)
     
  11. Adrien

    Adrien Member

    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
     
  12. Ark74

    Ark74 Member

    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!
     
  13. Adrien

    Adrien Member

    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
     
  14. Ark74

    Ark74 Member

    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.
     
  15. Adrien

    Adrien Member

    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 ;)
     
  16. Adrien

    Adrien Member

    Sorry for delay in replying but it was as simple as you told ;)
    Thanks a lot
     
  17. Ark74

    Ark74 Member

    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!
     
  18. Adrien

    Adrien Member

    Yeap, i got that. thanks again
     
  19. 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


     

Share This Page