ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Installing Frappe ERPNext on CentOS 7

    Scheduled Pinned Locked Moved IT Discussion
    centoscentos 7linuxerpnexterpfrappe
    36 Posts 6 Posters 12.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by

      None of those look like errors. Is there any errors in the logs?

      1 Reply Last reply Reply Quote 0
      • A
        ahmed.ramadan
        last edited by

        i found that the problem is in database conection between ERPNext and MariaDB, please help me to make ERPnext connect automatically with MariaDB

        1 Reply Last reply Reply Quote 0
        • A
          ahmed.ramadan
          last edited by ahmed.ramadan

          Exception happened during processing of request from ('196.218.198.56', 56004)
          14:52:34 web.1 | Traceback (most recent call last):
          14:52:34 web.1 | File "/usr/lib64/python2.7/SocketServer.py", line 593, in process_request_thread
          14:52:34 web.1 | self.finish_request(request, client_address)
          14:52:34 web.1 | File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
          14:52:34 web.1 | self.RequestHandlerClass(request, client_address, self)
          14:52:34 web.1 | File "/usr/lib64/python2.7/SocketServer.py", line 649, in init
          14:52:34 web.1 | self.handle()
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/serving.py", line 232, in handle
          14:52:34 web.1 | rv = BaseHTTPRequestHandler.handle(self)
          14:52:34 web.1 | File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
          14:52:34 web.1 | self.handle_one_request()
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/serving.py", line 267, in handle_one_request
          14:52:34 web.1 | return self.run_wsgi()
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/serving.py", line 209, in run_wsgi
          14:52:34 web.1 | execute(self.server.app)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/serving.py", line 199, in execute
          14:52:34 web.1 | for data in application_iter:
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/debug/init.py", line 284, in debug_application
          14:52:34 web.1 | app_iter = self.app(environ, start_response)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/middlewares.py", line 15, in call
          14:52:34 web.1 | return super(StaticDataMiddleware, self).call(environ, start_response)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/wsgi.py", line 600, in call
          14:52:34 web.1 | return self.app(environ, start_response)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/wsgi.py", line 600, in call
          14:52:34 web.1 | return self.app(environ, start_response)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/local.py", line 228, in application
          14:52:34 web.1 | return ClosingIterator(app(environ, start_response), self.cleanup)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/wrappers.py", line 301, in application
          14:52:34 web.1 | return f(*args[:-2] + (request,))(*args[-2:])
          14:52:34 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 53, in application
          14:52:34 web.1 | init_request(request)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 104, in init_request
          14:52:34 web.1 | frappe.init(site=site, sites_path=_sites_path)
          14:52:34 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 134, in init
          14:52:34 web.1 | local.conf = _dict(get_site_config())
          14:52:34 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 189, in get_site_config
          14:52:34 web.1 | sys.exit(1)
          14:52:34 web.1 | SystemExit: 1

          can anyone help me with this error ?

          1 Reply Last reply Reply Quote 0
          • scottalanmillerS
            scottalanmiller
            last edited by

            Have you checked if the database is running?

            1 Reply Last reply Reply Quote 0
            • A
              ahmed.ramadan
              last edited by

              yes it is running

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller
                last edited by

                Can you connect to it with the mysql command?

                A 1 Reply Last reply Reply Quote 0
                • A
                  ahmed.ramadan
                  last edited by

                  0_1491140723184_Screenshot from 2017-04-02 15-44-51.png

                  yes can

                  1 Reply Last reply Reply Quote 0
                  • Emad RE
                    Emad R
                    last edited by

                    @stacksofplates said in Installing Frappe ERPNext on CentOS 7:

                    Did they remove their install script? If I remember right it used to handle the NGINX setup. You just had to pass whatever the production option was.

                    +1 thanks for this, will play with it tonight.

                    whats is the point of putting an NGinx proxy infont of this app in prod ? for load-balancing perhaps ?

                    cause I usually run my web apps naked, as they are ...

                    A scottalanmillerS stacksofplatesS 3 Replies Last reply Reply Quote 0
                    • A
                      ahmed.ramadan @Emad R
                      last edited by

                      @msff-amman-Itofficer thanks, i will check again

                      1 Reply Last reply Reply Quote 0
                      • A
                        ahmed.ramadan @scottalanmiller
                        last edited by

                        @scottalanmiller yes i can access mysql

                        1 Reply Last reply Reply Quote 0
                        • scottalanmillerS
                          scottalanmiller @Emad R
                          last edited by

                          @msff-amman-Itofficer said in Installing Frappe ERPNext on CentOS 7:

                          @stacksofplates said in Installing Frappe ERPNext on CentOS 7:

                          Did they remove their install script? If I remember right it used to handle the NGINX setup. You just had to pass whatever the production option was.

                          +1 thanks for this, will play with it tonight.

                          whats is the point of putting an NGinx proxy infont of this app in prod ? for load-balancing perhaps ?

                          cause I usually run my web apps naked, as they are ...

                          Nginx provides some protection, flexibility and caching. Often adds a bit of speed and makes things like SSL much easier and more standard. And in a lot of cases SSL is not supported by apps so Nginx is a necessity.

                          JaredBuschJ 1 Reply Last reply Reply Quote 1
                          • JaredBuschJ
                            JaredBusch @scottalanmiller
                            last edited by

                            @scottalanmiller said in Installing Frappe ERPNext on CentOS 7:

                            @msff-amman-Itofficer said in Installing Frappe ERPNext on CentOS 7:

                            @stacksofplates said in Installing Frappe ERPNext on CentOS 7:

                            Did they remove their install script? If I remember right it used to handle the NGINX setup. You just had to pass whatever the production option was.

                            +1 thanks for this, will play with it tonight.

                            whats is the point of putting an NGinx proxy infont of this app in prod ? for load-balancing perhaps ?

                            cause I usually run my web apps naked, as they are ...

                            Nginx provides some protection, flexibility and caching. Often adds a bit of speed and makes things like SSL much easier and more standard. And in a lot of cases SSL is not supported by apps so Nginx is a necessity.

                            To me the bigger reason for a proxy in front of an app is to let the app remain on default ports. NodeBB runs on 4567 for example. Of course you can change it to 443 or 80. But that is not the design concept. Why go against design?

                            1 Reply Last reply Reply Quote 2
                            • stacksofplatesS
                              stacksofplates @Emad R
                              last edited by stacksofplates

                              @msff-amman-Itofficer said in Installing Frappe ERPNext on CentOS 7:

                              @stacksofplates said in Installing Frappe ERPNext on CentOS 7:

                              Did they remove their install script? If I remember right it used to handle the NGINX setup. You just had to pass whatever the production option was.

                              +1 thanks for this, will play with it tonight.

                              whats is the point of putting an NGinx proxy infont of this app in prod ? for load-balancing perhaps ?

                              cause I usually run my web apps naked, as they are ...

                              I usually default to using NGINX instead of Apache for most things. All of the sites I have running right now are using NGINX as the server. It's lighter and better at caching.

                              Having it in front of other apps allows you to keep the original port of the app, run more than one app per port, and adds some security ( with or without SSL).

                              1 Reply Last reply Reply Quote 0
                              • A
                                ahmed.ramadan
                                last edited by

                                13:41:53 redis_cache.1 |
                                13:41:53 redis_cache.1 | 24407:M 03 Apr 13:41:53.286 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
                                13:41:53 redis_cache.1 | 24407:M 03 Apr 13:41:53.286 # Server started, Redis version 3.2.3
                                13:41:53 redis_cache.1 | 24407:M 03 Apr 13:41:53.286 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
                                13:41:53 redis_cache.1 | 24407:M 03 Apr 13:41:53.286 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
                                13:41:53 redis_cache.1 | 24407:M 03 Apr 13:41:53.286 * The server is now ready to accept connections on port 13000
                                13:41:55 socketio.1 | listening on *: 9000
                                13:42:00 worker_short.1 | 13:42:00 RQ worker u'rq:worker:51.24410.short' started, version 0.7.1
                                13:42:00 worker_short.1 | 13:42:00 Cleaning registries for queue: short
                                13:42:00 worker_short.1 | 13:42:00
                                13:42:00 worker_short.1 | 13:42:00 *** Listening on short...
                                13:42:00 watch.1 | Wrote ./assets/js/report.min.js - 256k
                                13:42:00 watch.1 | Wrote ./assets/js/erpnext-web.min.js - 4k
                                13:42:00 watch.1 | Wrote ./assets/css/frappe-web.css - 64k
                                13:42:00 watch.1 | Wrote ./assets/css/web_form.css - 24k
                                13:42:00 watch.1 | Wrote ./assets/css/desk.min.css - 279k
                                13:42:00 watch.1 | Wrote ./assets/js/frappe-web.min.js - 141k
                                13:42:00 watch.1 | Wrote ./assets/css/list.min.css - 14k
                                13:42:00 watch.1 | Wrote ./assets/css/report.min.css - 8k
                                13:42:00 watch.1 | Wrote ./assets/js/list.min.js - 150k
                                13:42:00 watch.1 | Wrote ./assets/css/erpnext.css - 7k
                                13:42:00 web.1 | Traceback (most recent call last):
                                13:42:00 web.1 | File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
                                13:42:00 web.1 | "main", fname, loader, pkg_name)
                                13:42:00 web.1 | File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
                                13:42:00 web.1 | exec code in run_globals
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
                                13:42:00 web.1 | main()
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
                                13:42:00 web.1 | click.Group(commands=commands)(prog_name='bench')
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 722, in call
                                13:42:00 web.1 | return self.main(*args, **kwargs)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 697, in main
                                13:42:00 web.1 | rv = self.invoke(ctx)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
                                13:42:00 web.1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
                                13:42:00 web.1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 895, in invoke
                                13:42:00 web.1 | return ctx.invoke(self.callback, **ctx.params)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 535, in invoke
                                13:42:00 web.1 | return callback(*args, **kwargs)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
                                13:42:00 web.1 | return f(get_current_context(), *args, **kwargs)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/init.py", line 24, in _func
                                13:42:00 web.1 | ret = f(frappe._dict(ctx.obj), *args, **kwargs)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/utils.py", line 342, in serve
                                13:42:00 web.1 | frappe.app.serve(port=port, profile=profile, site=site, sites_path='.')
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 220, in serve
                                13:42:00 web.1 | use_debugger=True, use_evalex=True, threaded=True)
                                13:42:00 web.1 | File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/werkzeug/serving.py", line 717, in run_simple
                                13:42:00 web.1 | s.bind((hostname, port))
                                13:42:00 web.1 | File "/usr/lib64/python2.7/socket.py", line 224, in meth
                                13:42:00 web.1 | return getattr(self._sock,name)(*args)
                                13:42:00 web.1 | socket.error: [Errno 98] Address already in use
                                13:42:00 watch.1 | Wrote ./assets/js/form.min.js - 190k
                                13:42:00 watch.1 | Wrote ./assets/js/web_form.min.js - 247k
                                13:42:00 watch.1 | Wrote ./assets/js/dialog.min.js - 86k
                                13:42:00 system | web.1 stopped (rc=1)
                                13:42:00 system | sending SIGTERM to redis_socketio.1 (pid 24390)
                                13:42:00 system | sending SIGTERM to worker_long.1 (pid 24397)
                                13:42:00 system | sending SIGTERM to watch.1 (pid 24393)
                                13:42:00 system | sending SIGTERM to redis_queue.1 (pid 24399)
                                13:42:00 system | sending SIGTERM to schedule.1 (pid 24403)
                                13:42:00 system | sending SIGTERM to worker_default.1 (pid 24404)
                                13:42:00 system | sending SIGTERM to socketio.1 (pid 24405)
                                13:42:00 system | sending SIGTERM to redis_cache.1 (pid 24407)
                                13:42:00 system | sending SIGTERM to worker_short.1 (pid 24410)
                                13:42:00 redis_cache.1 | 24407:signal-handler (1491219720) Received SIGTERM scheduling shutdown...
                                13:42:00 redis_queue.1 | 24399:signal-handler (1491219720) Received SIGTERM scheduling shutdown...
                                13:42:00 redis_socketio.1 | 24390:signal-handler (1491219720) Received SIGTERM scheduling shutdown...
                                13:42:00 worker_short.1 | 13:42:00 Warm shut down requested
                                13:42:00 system | socketio.1 stopped (rc=-15)
                                13:42:00 system | worker_long.1 stopped (rc=-15)
                                13:42:00 system | worker_default.1 stopped (rc=-15)
                                13:42:00 system | schedule.1 stopped (rc=-15)
                                13:42:00 redis_socketio.1 | 24390:M 03 Apr 13:42:00.362 # User requested shutdown...
                                13:42:00 redis_socketio.1 | 24390:M 03 Apr 13:42:00.362 * Removing the pid file.
                                13:42:00 redis_socketio.1 | 24390:M 03 Apr 13:42:00.362 # Redis is now ready to exit, bye bye...
                                13:42:00 system | redis_socketio.1 stopped (rc=0)
                                13:42:00 system | watch.1 stopped (rc=-15)
                                13:42:00 redis_queue.1 | 24399:M 03 Apr 13:42:00.388 # User requested shutdown...
                                13:42:00 redis_queue.1 | 24399:M 03 Apr 13:42:00.388 * Removing the pid file.
                                13:42:00 redis_queue.1 | 24399:M 03 Apr 13:42:00.388 # Redis is now ready to exit, bye bye...
                                13:42:00 system | redis_queue.1 stopped (rc=0)
                                13:42:00 redis_cache.1 | 24407:M 03 Apr 13:42:00.399 # User requested shutdown...
                                13:42:00 redis_cache.1 | 24407:M 03 Apr 13:42:00.399 * Removing the pid file.
                                13:42:00 redis_cache.1 | 24407:M 03 Apr 13:42:00.399 # Redis is now ready to exit, bye bye...
                                13:42:00 system | redis_cache.1 stopped (rc=0)
                                13:42:00 system | worker_short.1 stopped (rc=0)
                                [frappe@51 frappe-bench]$

                                please help me

                                1 Reply Last reply Reply Quote 0
                                • scottalanmillerS
                                  scottalanmiller
                                  last edited by

                                  Check the Redis log, why did Redis feel that it should exit?

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    ahmed.ramadan @scottalanmiller
                                    last edited by

                                    @scottalanmiller

                                    nothing in redis log

                                    scottalanmillerS 1 Reply Last reply Reply Quote 0
                                    • scottalanmillerS
                                      scottalanmiller @ahmed.ramadan
                                      last edited by

                                      @ahmed.ramadan said in Installing Frappe ERPNext on CentOS 7:

                                      @scottalanmiller

                                      nothing in redis log

                                      It's blank?

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        ahmed.ramadan @scottalanmiller
                                        last edited by

                                        @scottalanmiller yes

                                        1 Reply Last reply Reply Quote 0
                                        • scottalanmillerS
                                          scottalanmiller
                                          last edited by

                                          Try running Redis and not ERPNext. See if it logs correctly.

                                          1 Reply Last reply Reply Quote 0
                                          • stacksofplatesS
                                            stacksofplates
                                            last edited by stacksofplates

                                            Might need to enable verbose logging. I've never done anything with Redis, but if it's like some other services, you have to manually turn on debug logging.

                                            scottalanmillerS 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post