Force database creation in install script?

It is possible to force recreation of the mariadb database in the easy install script?

My install has failed several times. I had to restart mysql the database that was created in the erpnext install was empty. I tried dropping the database and re-running the install, but it fails because it does not find the configured database. I tried re-creating the database, but the install fails because it cannot find the table tabDefaultValue (which does not exist because the database is empty…)

Is the some way to find out the intial database structure and create it so that the install can complete?

Alternately is there some way to force the install script to just start again?

Is bench command working?
can you continue manual install of bench
https://frappe.github.io/frappe/user/en/bench/guides/manual-setup.html

Thanks for the reply.

Yes, bench command is working. I will look at the manual setup again. I was also thinking about just running the install script again with --site newsite.local and see if that works.

If I can get past this, the next step is to translate the nginx config to an apache vhost config.

edit: hmm… creating a new site of the same name as the install script I get this:
$ bench new-site site1.local INFO:bench.utils:creating new site site1.local frappe app is not installed. Run the following command to install frappe bench get-app https://github.com/frappe/frappe.git

So I tried that:
$ bench get-app https://github.com/frappe/frappe.git INFO:bench.app:getting app frappe Traceback (most recent call last): File "/usr/bin/bench", line 9, in <module> load_entry_point('bench', 'console_scripts', 'bench')() File "/home/frappe/.bench/bench/cli.py", line 40, in cli bench_command() File "/usr/lib/python2.7/site-packages/click/core.py", line 716, in __call__ return self.main(*args, **kwargs) File "/usr/lib/python2.7/site-packages/click/core.py", line 696, in main rv = self.invoke(ctx) File "/usr/lib/python2.7/site-packages/click/core.py", line 1060, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python2.7/site-packages/click/core.py", line 889, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python2.7/site-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/home/frappe/.bench/bench/commands/make.py", line 28, in get_app get_app(git_url, branch=branch) File "/home/frappe/.bench/bench/app.py", line 62, in get_app cwd=os.path.join(bench_path, 'apps')) File "/home/frappe/.bench/bench/utils.py", line 80, in exec_cmd p = subprocess.Popen(cmd, cwd=cwd, shell=True, stdout=stdout, stderr=stderr) File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory: './apps'

But oddly, I have erpnext and frappe directories present in /home/frappe/frappe-bench/apps

I noticed during earlier attempts that the install script must be run from the active users home folder and no where else. Seems there are some pathing issues…

Ah, I bet I need to run bench new-site site1.local from /home/frappe/frappe-bench/ …

Which works better, but I get, database already exists error, so maybe if I drop the database and try again…

Then I get:
Please add this to MariaDB's my.cnf and restart MariaDB before proceeding [mysqld] innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4

Which is where the installation script choked. I have verified these options are present in /etc/my.cnf.d/frappe.cnf and restarted mysql/mariadb

So, not sure why these options are not being recognised. Perhaps if I add them to /etc/my.cnf.d/server.cnf ? I guess I’ll check the mysqld logs…

BTW, this is on a CentOS 7 VM.

I have added the options to the mysql/mariadb conf in every way imaginable and restarted multiple times

Please add this to MariaDB's my.cnf and restart MariaDB before proceeding [mysqld] innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4

But a bench new-site site1.local refuses to recognise that these options are set.

Pretty much ready to give up on ERPNext at this point. (I have been running servers of various kinds for over 20 years and dealt with a wide variety of web applications and I have never come across something as ornery as ERPNext.)

I think it would do ERPNext a lot of good to consider that maybe it is not the only application/service installed and running on a server.

I don’t give up easily…

Found a problem. /etc/my.cnf.d/frappe.cnf was being parsed by mysqld as expected… but the configuration variable:
innodb-file-format=barracuda
is invalid (5.5.47-MariaDB)
as a mysqladmin variables was showing Antelope as the InnoDB file format. So setting it dynamically via
mysql> SET GLOBAL innodb_file_format=Barracuda;
did work… note the case

so I edited /etc/my.cnf.d/frappe.cnf and set:
innodb-file-format=Barracuda
stopped and started mysql… and presto, the setting took! (as observed with mysqladmin variables)

So I deleted the ERPNext site databases and files and tried again…
bench new-site site1.local

same error:

`$ bench new-site site1.local
MySQL root password:

Please add this to MariaDB’s my.cnf and restart MariaDB before proceeding

[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

================================================================================`

So. Something is still wrong. Do I need to check the rest of these variables for the proper format…

Or is bench expecting the InnoDB file format to be ‘barracuda’ when it actually needs to be ‘Barracuda’?

I suspect this is what is happening. Bench may neglecting to consider the case of the InnoDB file format?

Has anyone here done a fresh install of the latest version of Bench recently? Am I the only one seeing this problem?

edit:
mysqladmin variables is showing innodb-large-prefix = OFF

So it looks like I need to check the syntax of each of the variables specified in ` /etc/my.cnf.d/frappe.cnf and confirm them one-by-one…

Hurray! Finally got the site setup to work.

$ bench new-site site1.local MySQL root password: Installing frappe... Updating frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: Installing fixtures... *** Scheduler is disabled ***

Not sure exactly which part did it, but I killed all mysql processes manually, renamed the ib log and data files and aria log and control files then set /etc/my.cnf.d/frappe.cnf to:
[mysqld] innodb_file_format=Barracuda innodb_file_per_table=1 innodb_large_prefix=1 character_set_client_handshake=FALSE character_set_server=utf8mb4 collation_server=utf8mb4_unicode_ci max_allowed_packet=64M [mysql] default_character_set=utf8mb4

started mariadb and then issued a bench new-site site1.local, and hoorah! It worked!

Hopefully the next steps will go easier. I’m a little concerned about translating the nginx conf into an apache reverse proxy vhost conf… and if I get that far then I’ll need to figure out a startup script to run on system boot.

Sigh… now I get this:

$ bench start 16:31:08 system | watch.1 started (pid=30148) 16:31:08 system | worker_long.1 started (pid=30147) 16:31:08 system | redis_queue.1 started (pid=30149) 16:31:08 redis_queue.1 | [30149] 23 Jul 16:31:08.074 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. 16:31:08 redis_queue.1 | [30149] 23 Jul 16:31:08.074 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted. 16:31:08 redis_queue.1 | [30149] 23 Jul 16:31:08.074 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. 16:31:08 redis_queue.1 | [30149] 23 Jul 16:31:08.075 # Creating Server TCP listening socket 127.0.0.1:11000: bind: Address already in use 16:31:08 system | redis_queue.1 stopped (rc=1) 16:31:08 system | redis_socketio.1 started (pid=30150) 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.067 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.067 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted. 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.067 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. 16:31:08 redis_socketio.1 | _._ 16:31:08 redis_socketio.1 | _.-``__ ''-._ 16:31:08 redis_socketio.1 | _.-`` . _. ''-._ Redis 2.8.19 (00000000/0) 64 bit 16:31:08 redis_socketio.1 | .-`` .-```. ```\/ _.,_ ''-._ 16:31:08 redis_socketio.1 | ( ' , .- | , ) Running in stand alone mode 16:31:08 redis_socketio.1 | |-.-...- …-.-._|'` _.-'| Port: 12000 16:31:08 redis_socketio.1 | | `-._ `._ / _.-' | PID: 30150 16:31:08 redis_socketio.1 | `-._ `-._ `-./ _.-' _.-' 16:31:08 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 16:31:08 redis_socketio.1 | | `-._`-._ _.-'_.-' | http://redis.io 16:31:08 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 16:31:08 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 16:31:08 redis_socketio.1 | | `-._`-._ _.-'_.-' | 16:31:08 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 16:31:08 redis_socketio.1 | `-._ `-.__.-' _.-' 16:31:08 redis_socketio.1 | `-._ _.-' 16:31:08 redis_socketio.1 | `-.__.-' 16:31:08 redis_socketio.1 | 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.069 # Server started, Redis version 2.8.19 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.069 # 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. 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.069 # 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. 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.069 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.069 * The server is now ready to accept connections on port 12000 16:31:08 system | worker_short.1 started (pid=30151) 16:31:08 system | socketio.1 started (pid=30155) 16:31:08 system | schedule.1 started (pid=30152) 16:31:08 system | web.1 started (pid=30154) 16:31:08 system | redis_cache.1 started (pid=30156) 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted. 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. 16:31:08 redis_cache.1 | _._ 16:31:08 redis_cache.1 | _.- ‘’-.
16:31:08 redis_cache.1 | .- `. `_. ''-._ Redis 2.8.19 (00000000/0) 64 bit 16:31:08 redis_cache.1 | .- .-. / ., ‘’-.
16:31:08 redis_cache.1 | ( ’ , .- |, ) Running in stand alone mode
16:31:08 redis_cache.1 | |-._-…- __...-.``-._|' .-'| Port: 13000
16:31:08 redis_cache.1 | | -._ .
/ .-’ | PID: 30156
16:31:08 redis_cache.1 | -._ -.
-./ _.-' _.-' 16:31:08 redis_cache.1 | |-.-._ -.__.-’ .-'.-'|
16:31:08 redis_cache.1 | | -._-.
.-'.-’ | http://redis.io
16:31:08 redis_cache.1 | -._ -.-.__.-'_.-' _.-' 16:31:08 redis_cache.1 | |-.-._ -.__.-’ .-'.-‘|
16:31:08 redis_cache.1 | | -._-._ .-'.-’ |
16:31:08 redis_cache.1 | -._ -.-.__.-'_.-' _.-' 16:31:08 redis_cache.1 | -. -.__.-' _.-' 16:31:08 redis_cache.1 | -._ _.-’
16:31:08 redis_cache.1 | -.__.-' 16:31:08 redis_cache.1 | 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # Server started, Redis version 2.8.19 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # 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. 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # 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. 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.132 * The server is now ready to accept connections on port 13000 16:31:08 system | worker_default.1 started (pid=30153) 16:31:08 system | sending SIGTERM to redis_socketio.1 (pid 30150) 16:31:08 system | sending SIGTERM to worker_long.1 (pid 30147) 16:31:08 system | sending SIGTERM to watch.1 (pid 30148) 16:31:08 system | sending SIGTERM to web.1 (pid 30154) 16:31:08 system | sending SIGTERM to schedule.1 (pid 30152) 16:31:08 system | sending SIGTERM to worker_default.1 (pid 30153) 16:31:08 system | sending SIGTERM to socketio.1 (pid 30155) 16:31:08 system | sending SIGTERM to redis_cache.1 (pid 30156) 16:31:08 system | sending SIGTERM to worker_short.1 (pid 30151) 16:31:08 redis_socketio.1 | [30150 | signal handler] (1469305868) Received SIGTERM scheduling shutdown... 16:31:08 system | worker_short.1 stopped (rc=-15) 16:31:08 system | worker_default.1 stopped (rc=-15) 16:31:08 redis_cache.1 | [30156 | signal handler] (1469305868) Received SIGTERM scheduling shutdown... 16:31:08 system | web.1 stopped (rc=-15) 16:31:08 system | watch.1 stopped (rc=-15) 16:31:08 system | worker_long.1 stopped (rc=-15) 16:31:08 system | socketio.1 stopped (rc=143) 16:31:08 system | schedule.1 stopped (rc=-15) 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.263 # User requested shutdown... 16:31:08 redis_cache.1 | [30156] 23 Jul 16:31:08.263 # Redis is now ready to exit, bye bye... 16:31:08 system | redis_cache.1 stopped (rc=0) 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.274 # User requested shutdown... 16:31:08 redis_socketio.1 | [30150] 23 Jul 16:31:08.274 # Redis is now ready to exit, bye bye... 16:31:08 system | redis_socketio.1 stopped (rc=0)

How many database systems are required to run a single web application? Really. I start to wonder if it is worth it when I already have odoo running on this VM.

Now I guess I need to figure out how to make redis happy on this VM.

can you try

bench setup socketio

Introduction to Redis

Thanks again for the reply revant_one. I tried

bench setup socketio

then bench start and I got essentially the same thing. I’m wondering if the redis v2.8.19-2.el7 I have installed is too old? I may try removing the package and building it from the latest source and see what I get.

Can you share tailing lines of error logs from frappe-bench/logs

There are three files present in frappe-bench/logs:
auto_update_log.log backup.log bench.log

There appears to be no error log file. The only two lines present in bench.log are:

2016-07-22 15:00:38,885 INFO getting app erpnext 2016-07-22 15:01:11,066 INFO installing erpnext

What I am noticing in the output of bench start is:

08:36:55 redis_queue.1 | [5678] 25 Jul 08:36:55.724 # Creating Server TCP listening socket 127.0. 0.1:11000: bind: Address already in use

Which is followed by:

08:36:55 system | redis_queue.1 stopped (rc=1) 08:36:55 system | socketio.1 started (pid=5679) 08:36:55 system | schedule.1 started (pid=5676) 08:36:55 system | worker_short.1 started (pid=5681) 08:36:55 system | web.1 started (pid=5682) 08:36:55 system | sending SIGTERM to redis_socketio.1 (pid 5663) 08:36:55 system | sending SIGTERM to worker_long.1 (pid 5661) 08:36:55 system | sending SIGTERM to watch.1 (pid 5662) 08:36:55 system | sending SIGTERM to web.1 (pid 5682) 08:36:55 system | sending SIGTERM to schedule.1 (pid 5676) 08:36:55 system | sending SIGTERM to worker_default.1 (pid 5677) 08:36:55 system | sending SIGTERM to socketio.1 (pid 5679) 08:36:55 system | sending SIGTERM to redis_cache.1 (pid 5680) 08:36:55 system | sending SIGTERM to worker_short.1 (pid 5681) 08:36:55 redis_socketio.1 | [5663 | signal handler] (1469450215) Received SIGTERM scheduling shutdow n...

So I’m in the process of working out what might be already listening on port 11000.

I suppose I could edit config/redis_queue.conf to use a different port? Would that work?

a netstat -anp | grep 11000 gives me:
tcp 0 0 127.0.0.1:11000 0.0.0.0:* LISTEN 3796/lookup-domain- tcp 1 0 127.0.0.1:11000 127.0.0.1:38374 CLOSE_WAIT 3796/lookup-domain-

Which is a webmin process: /usr/libexec/webmin/virtual-server/lookup-domain-daemon.pl

I’m going to try editing config/redis_queue.conf to use a different port and see what I get.

I think redis server is already running.
can you try

sudo update-rc.d redis-server disable
sudo service redis-server stop
frappe-bench$ bench start

Thanks so much for the help revant_one. I’ll look at that in a minute.

I edited config/redis_queue.conf to use port 11001 and bench start got farther this time:

$ bench start
09:29:01 system           | redis_queue.1 started (pid=7697)
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.959 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.959 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted.
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.959 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
09:29:00 redis_queue.1    |                 _._
09:29:00 redis_queue.1    |            _.-``__ ''-._
09:29:00 redis_queue.1    |       _.-``    `.  `_.  ''-._           Redis 2.8.19 (00000000/0) 64 bit
09:29:00 redis_queue.1    |   .-`` .-```.  ```\/    _.,_ ''-._
09:29:00 redis_queue.1    |  (    '      ,       .-`  | `,    )     Running in stand alone mode
09:29:00 redis_queue.1    |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 11001
09:29:00 redis_queue.1    |  |    `-._   `._    /     _.-'    |     PID: 7697
09:29:00 redis_queue.1    |   `-._    `-._  `-./  _.-'    _.-'
09:29:00 redis_queue.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:00 redis_queue.1    |  |    `-._`-._        _.-'_.-'    |           http://redis.io
09:29:00 redis_queue.1    |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:00 redis_queue.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:00 redis_queue.1    |  |    `-._`-._        _.-'_.-'    |
09:29:00 redis_queue.1    |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:00 redis_queue.1    |       `-._    `-.__.-'    _.-'
09:29:00 redis_queue.1    |           `-._        _.-'
09:29:00 redis_queue.1    |               `-.__.-'
09:29:00 redis_queue.1    |
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.961 # Server started, Redis version 2.8.19
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.961 # 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.
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.961 # 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.
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.962 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
09:29:00 redis_queue.1    | [7697] 25 Jul 09:29:00.962 * The server is now ready to accept connections on port 11001
09:29:01 system           | watch.1 started (pid=7696)
09:29:01 system           | worker_long.1 started (pid=7695)
09:29:01 system           | web.1 started (pid=7694)
09:29:01 system           | redis_socketio.1 started (pid=7698)
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted.
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
09:29:01 redis_socketio.1 |                 _._
09:29:01 redis_socketio.1 |            _.-``__ ''-._
09:29:01 redis_socketio.1 |       _.-``    `.  `_.  ''-._           Redis 2.8.19 (00000000/0) 64 bit
09:29:01 redis_socketio.1 |   .-`` .-```.  ```\/    _.,_ ''-._
09:29:01 redis_socketio.1 |  (    '      ,       .-`  | `,    )     Running in stand alone mode
09:29:01 redis_socketio.1 |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 12000
09:29:01 redis_socketio.1 |  |    `-._   `._    /     _.-'    |     PID: 7698
09:29:01 redis_socketio.1 |   `-._    `-._  `-./  _.-'    _.-'
09:29:01 redis_socketio.1 |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:01 redis_socketio.1 |  |    `-._`-._        _.-'_.-'    |           http://redis.io
09:29:01 redis_socketio.1 |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:01 redis_socketio.1 |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:01 redis_socketio.1 |  |    `-._`-._        _.-'_.-'    |
09:29:01 redis_socketio.1 |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:01 redis_socketio.1 |       `-._    `-.__.-'    _.-'
09:29:01 redis_socketio.1 |           `-._        _.-'
09:29:01 redis_socketio.1 |               `-.__.-'
09:29:01 redis_socketio.1 |
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # Server started, Redis version 2.8.19
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # 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.
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # 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.
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
09:29:01 redis_socketio.1 | [7698] 25 Jul 09:29:00.981 * The server is now ready to accept connections on port 12000
09:29:01 system           | socketio.1 started (pid=7715)
09:29:01 system           | worker_short.1 started (pid=7713)
09:29:01 system           | redis_cache.1 started (pid=7716)
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.082 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.082 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted.
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.082 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
09:29:01 redis_cache.1    |                 _._
09:29:01 redis_cache.1    |            _.-``__ ''-._
09:29:01 redis_cache.1    |       _.-``    `.  `_.  ''-._           Redis 2.8.19 (00000000/0) 64 bit
09:29:01 redis_cache.1    |   .-`` .-```.  ```\/    _.,_ ''-._
09:29:01 redis_cache.1    |  (    '      ,       .-`  | `,    )     Running in stand alone mode
09:29:01 redis_cache.1    |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 13000
09:29:01 redis_cache.1    |  |    `-._   `._    /     _.-'    |     PID: 7716
09:29:01 redis_cache.1    |   `-._    `-._  `-./  _.-'    _.-'
09:29:01 redis_cache.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:01 redis_cache.1    |  |    `-._`-._        _.-'_.-'    |           http://redis.io
09:29:01 redis_cache.1    |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:01 redis_cache.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|
09:29:01 redis_cache.1    |  |    `-._`-._        _.-'_.-'    |
09:29:01 redis_cache.1    |   `-._    `-._`-.__.-'_.-'    _.-'
09:29:01 redis_cache.1    |       `-._    `-.__.-'    _.-'
09:29:01 redis_cache.1    |           `-._        _.-'
09:29:01 redis_cache.1    |               `-.__.-'
09:29:01 redis_cache.1    |
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.082 # Server started, Redis version 2.8.19
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.083 # 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.
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.083 # 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.
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.083 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
09:29:01 redis_cache.1    | [7716] 25 Jul 09:29:01.083 * The server is now ready to accept connections on port 13000
09:29:01 system           | worker_default.1 started (pid=7714)
09:29:01 system           | schedule.1 started (pid=7717)
09:29:05 socketio.1       | listening on *: 9000
09:29:13 watch.1          | compiling /home/frappe/frappe-bench/apps/frappe/frappe/public/less/avatar.less
09:29:13 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
09:29:14 web.1            |  * Restarting with inotify reloader
09:29:14 watch.1          | compiling /home/frappe/frappe-bench/apps/frappe/frappe/public/less/calendar.less
09:29:15 watch.1          | compiling /home/frappe/frappe-bench/apps/frappe/frappe/public/less/common.less
09:29:15 worker_default.1 | Traceback (most recent call last):
09:29:15 worker_default.1 |   File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
09:29:15 worker_default.1 |     "__main__", fname, loader, pkg_name)
09:29:15 worker_default.1 |   File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
09:29:15 worker_default.1 |     exec code in run_globals
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
09:29:15 worker_default.1 |     main()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
09:29:15 worker_default.1 |     click.Group(commands=commands)(prog_name='bench')
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 716, in __call__
09:29:15 worker_default.1 |     return self.main(*args, **kwargs)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 696, in main
09:29:15 worker_default.1 |     rv = self.invoke(ctx)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_default.1 |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_default.1 |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 889, in invoke
09:29:15 worker_default.1 |     return ctx.invoke(self.callback, **ctx.params)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 534, in invoke
09:29:15 worker_default.1 |     return callback(*args, **kwargs)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/scheduler.py", line 163, in start_worker
09:29:15 worker_default.1 |     start_worker(queue)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 102, in start_worker
09:29:15 worker_default.1 |     Worker(queues, name=get_worker_name(queue)).work()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 423, in work
09:29:15 worker_default.1 |     self.register_birth()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 242, in register_birth
09:29:15 worker_default.1 |     if self.connection.exists(self.key) and \
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 855, in exists
09:29:15 worker_default.1 |     return self.execute_command('EXISTS', name)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 579, in execute_command
09:29:15 worker_default.1 |     return self.parse_response(connection, command_name, **options)
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 585, in parse_response
09:29:15 worker_default.1 |     response = connection.read_response()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 577, in read_response
09:29:15 worker_default.1 |     response = self._parser.read_response()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 238, in read_response
09:29:15 worker_default.1 |     response = self._buffer.readline()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 168, in readline
09:29:15 worker_default.1 |     self._read_from_socket()
09:29:15 worker_default.1 |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 143, in _read_from_socket
09:29:15 worker_default.1 |     (e.args,))
09:29:15 worker_default.1 | redis.exceptions.ConnectionError: Error while reading from socket: ('Connection closed by server.',)
09:29:15 system           | worker_default.1 stopped (rc=1)
09:29:15 system           | sending SIGTERM to redis_socketio.1 (pid 7698)
09:29:15 system           | sending SIGTERM to worker_long.1 (pid 7695)
09:29:15 system           | sending SIGTERM to watch.1 (pid 7696)
09:29:15 system           | sending SIGTERM to redis_queue.1 (pid 7697)
09:29:15 system           | sending SIGTERM to web.1 (pid 7694)
09:29:15 system           | sending SIGTERM to schedule.1 (pid 7717)
09:29:15 system           | sending SIGTERM to socketio.1 (pid 7715)
09:29:15 system           | sending SIGTERM to redis_cache.1 (pid 7716)
09:29:15 system           | sending SIGTERM to worker_short.1 (pid 7713)
09:29:15 redis_socketio.1 | [7698 | signal handler] (1469453355) Received SIGTERM scheduling shutdown...
09:29:15 worker_long.1    | 09:29:15 Warm shut down requested
09:29:15 worker_long.1    | Traceback (most recent call last):
09:29:15 worker_long.1    |   File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
09:29:15 worker_long.1    |     "__main__", fname, loader, pkg_name)
09:29:15 worker_long.1    |   File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
09:29:15 worker_long.1    |     exec code in run_globals
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
09:29:15 worker_long.1    |     main()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
09:29:15 worker_long.1    |     click.Group(commands=commands)(prog_name='bench')
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 716, in __call__
09:29:15 worker_long.1    |     return self.main(*args, **kwargs)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 696, in main
09:29:15 worker_long.1    |     rv = self.invoke(ctx)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_long.1    |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_long.1    |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 889, in invoke
09:29:15 worker_long.1    |     return ctx.invoke(self.callback, **ctx.params)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 534, in invoke
09:29:15 worker_long.1    |     return callback(*args, **kwargs)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/scheduler.py", line 163, in start_worker
09:29:15 worker_long.1    |     start_worker(queue)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 102, in start_worker
09:29:15 worker_long.1    |     Worker(queues, name=get_worker_name(queue)).work()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 423, in work
09:29:15 worker_long.1    |     self.register_birth()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 242, in register_birth
09:29:15 worker_long.1    |     if self.connection.exists(self.key) and \
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 855, in exists
09:29:15 worker_long.1    |     return self.execute_command('EXISTS', name)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 579, in execute_command
09:29:15 worker_long.1    |     return self.parse_response(connection, command_name, **options)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 585, in parse_response
09:29:15 worker_long.1    |     response = connection.read_response()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 577, in read_response
09:29:15 worker_long.1    |     response = self._parser.read_response()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 238, in read_response
09:29:15 worker_long.1    |     response = self._buffer.readline()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 168, in readline
09:29:15 worker_long.1    |     self._read_from_socket()
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 126, in _read_from_socket
09:29:15 worker_long.1    |     data = self._sock.recv(socket_read_size)
09:29:15 worker_long.1    |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 385, in request_stop
09:29:15 worker_long.1    |     raise StopRequested()
09:29:15 worker_long.1    | rq.worker.StopRequested
09:29:15 system           | schedule.1 stopped (rc=-15)
09:29:15 redis_cache.1    | [7716 | signal handler] (1469453355) Received SIGTERM scheduling shutdown...
09:29:15 redis_cache.1    | [7716] 25 Jul 09:29:15.682 # User requested shutdown...
09:29:15 redis_cache.1    | [7716] 25 Jul 09:29:15.682 # Redis is now ready to exit, bye bye...
09:29:15 worker_short.1   | 09:29:15 Warm shut down requested
09:29:15 worker_short.1   | Traceback (most recent call last):
09:29:15 worker_short.1   |   File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
09:29:15 worker_short.1   |     "__main__", fname, loader, pkg_name)
09:29:15 worker_short.1   |   File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
09:29:15 worker_short.1   |     exec code in run_globals
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
09:29:15 worker_short.1   |     main()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
09:29:15 worker_short.1   |     click.Group(commands=commands)(prog_name='bench')
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 716, in __call__
09:29:15 worker_short.1   |     return self.main(*args, **kwargs)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 696, in main
09:29:15 worker_short.1   |     rv = self.invoke(ctx)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_short.1   |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
09:29:15 worker_short.1   |     return _process_result(sub_ctx.command.invoke(sub_ctx))
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 889, in invoke
09:29:15 worker_short.1   |     return ctx.invoke(self.callback, **ctx.params)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 534, in invoke
09:29:15 worker_short.1   |     return callback(*args, **kwargs)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/scheduler.py", line 163, in start_worker
09:29:15 worker_short.1   |     start_worker(queue)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 102, in start_worker
09:29:15 worker_short.1   |     Worker(queues, name=get_worker_name(queue)).work()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 423, in work
09:29:15 worker_short.1   |     self.register_birth()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 242, in register_birth
09:29:15 worker_short.1   |     if self.connection.exists(self.key) and \
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 855, in exists
09:29:15 worker_short.1   |     return self.execute_command('EXISTS', name)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 579, in execute_command
09:29:15 worker_short.1   |     return self.parse_response(connection, command_name, **options)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/client.py", line 585, in parse_response
09:29:15 worker_short.1   |     response = connection.read_response()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 577, in read_response
09:29:15 worker_short.1   |     response = self._parser.read_response()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 238, in read_response
09:29:15 worker_short.1   |     response = self._buffer.readline()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 168, in readline
09:29:15 worker_short.1   |     self._read_from_socket()
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/redis/connection.py", line 126, in _read_from_socket
09:29:15 worker_short.1   |     data = self._sock.recv(socket_read_size)
09:29:15 worker_short.1   |   File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/worker.py", line 385, in request_stop
09:29:15 worker_short.1   |     raise StopRequested()
09:29:15 worker_short.1   | rq.worker.StopRequested
09:29:15 system           | socketio.1 stopped (rc=143)
09:29:15 redis_queue.1    | [7697 | signal handler] (1469453355) Received SIGTERM scheduling shutdown...
09:29:15 system           | redis_cache.1 stopped (rc=0)
09:29:15 redis_socketio.1 | [7698] 25 Jul 09:29:15.701 # User requested shutdown...
09:29:15 redis_socketio.1 | [7698] 25 Jul 09:29:15.701 # Redis is now ready to exit, bye bye...
09:29:15 system           | redis_socketio.1 stopped (rc=0)
09:29:15 redis_queue.1    | [7697] 25 Jul 09:29:15.756 # User requested shutdown...
09:29:15 redis_queue.1    | [7697] 25 Jul 09:29:15.756 # Redis is now ready to exit, bye bye...
09:29:15 system           | redis_queue.1 stopped (rc=0)
09:29:15 system           | watch.1 stopped (rc=-15)
09:29:15 system           | worker_short.1 stopped (rc=1)
09:29:15 system           | web.1 stopped (rc=0)
09:29:15 system           | worker_long.1 stopped (rc=1)

I’ll try disabling any existing redis server instances, regenerate the configs and try again.

Nope, that’s not it. As I discovered above, a webmin process is listening on port 11000.

$ sudo service redis-server status Redirecting to /bin/systemctl status redis-server.service ● redis-server.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)

$ sudo netstat -anp | grep 11000 tcp 0 0 127.0.0.1:11000 0.0.0.0:* LISTEN 3796/lookup-domain- tcp 1 0 127.0.0.1:11000 127.0.0.1:38374 CLOSE_WAIT 3796/lookup-domain-

Which is a webmin process: /usr/libexec/webmin/virtual-server/lookup-domain-daemon.pl

And as posted above:

So now to look at that output and figure out why bench is choking. Maybe it got far enough to create an error log this time.

edit: nope, no error log. just what I got on stdout.

Is there a way to not use redis? MySQL does have its own query cache…

I guess I will try building the latest redis from source.

Not using redis. Not recommended.
try
bench serve

Thanks for the suggestion. Good to know. (I’ve also been reviewing the available commands via bench --help) It occurred to me that changing the port of the redis queue would require telling bench about that change, so…

in addition to editing config/redis_queue.conf to set:

port 11001

I edited sites/common_site_config.json to set:

"redis_queue": "redis://localhost:11001",

And voila! It started! With only one (non critical) error:

10:20:19 watch.1 | ParseError: Unrecognised input in /home/frappe/frappe-bench/apps/erpnext/erpnext/public/less/erpnext.less on line 135, column 14: 10:20:19 watch.1 | 134 .erpnext-icon { 10:20:19 watch.1 | 135 width: 24px;ack 10:20:19 watch.1 | 136 margin-right: 0px; 10:20:19 watch.1 |

Thanks again for your input revant_one, it encouraged me to persist to identify these issues.

So my recommendation is that Frappe/Bench/ERPNext should check for a Webmin/Virtualmin installation and if found, configure the redis queue to use a port other than 11000.

So now to figure out how to stop it, run it detached from the console for further testing, then setup for production with apache instead of nginx.

Progress! :slight_smile:

1 Like

I have it working in production behind Apache. For the sake of completeness of this record…

Summary:

  • removed the initial bench site
  • created a new one with a site name corresponding to the domain of the virtual host I intended to use
  • stopped apache
  • enabled and started nginx
  • ran sudo bench setup production frappe
  • stopped and disabled nginx
  • added configuration to apache vhost (see below)
  • added vhost user to frappe group
  • started apache

Added configuration to apache vhost (using LetsEncrypt SSL):

Alias "/assets" "/home/frappe/frappe-bench/sites/assets"
<Directory /home/frappe/frappe-bench/sites/assets>
    Options FollowSymLinks
    Require all granted
</Directory>
ProxyPreserveHost On
ProxyPass "/.well-known/" "!"
ProxyPass "/mail/" "!"
ProxyPass "/cgi-bin/" "!"
ProxyPass "/assets/" "!"
ProxyPass "/socket.io"  "http://127.0.0.1:9000/"
ProxyPass "/"  "http://127.0.0.1:8000/"
ProxyPassReverse "/socket.io"  "http://127.0.0.1:9000/"
ProxyPassReverse "/"  "http://127.0.0.1:8000/"

VM Operating system: CentOS Linux 7.2.1511
Webmin version: 1.801
Virtualmin version: 5.03
Apache version: 2.4.6

Though I have not actually logged in on it yet… :slight_smile:

3 Likes

@reidtech please create a page on Home · frappe/erpnext Wiki · GitHub

I have yet to add the protected and error directives from the nginx config to my apache config.

If I get a chance I will look at making a wiki page on this subject (ERPNext with Apache and Virtualmin/Webmin on a CentOS 7 VM). No promises though.

Is this forum pruned? Will this thread persist as long as this forum exists?

Just in case:
http://archive.is/tlxbu

But it appears archive.org is blocked:
http://web.archive.org/web/20160726153310/https://discuss.frappe.io/t/force-database-creation-in-install-script/14361