[Operación y mantenimiento] Instale e implemente wok en el sistema CentOS8

Descripción del entorno del sistema

Sistema: CentOS-8.2.2004
Plataforma:x86-64

Herramientas utilizadas para instalar

  1. gitinstalación
dnf install git

Descarga de software

Compilar e instalar, adquisición de código fuente

git clone https://github.com/kimchi-project/wok.git

La githubvelocidad de salida del código fuente es relativamente lenta. Puedes usar la aceleración del espejo doméstico. Para los métodos de aceleración del espejo doméstico, consulta Github Aceleración del espejo doméstico . Para la duplicación acelerada, consulta el espejo acelerado de GitHub.

Instalación dependiente

Compilar instalación dependiente

wokNecesidad de compilación automake, gcc, makey otros dependientes

dnf install automake gcc make
pip3 install pyflakes

Ejecutar instalación de dependencia

dnf install python36-devel openldap-devel nginx
pip3 install cherrypy python-ldap python-pam Cheetah3 lxml psutil jsonschema
pip3 install websockify==0.7.0

wokinstalación

cd wok
git checkout 3.0.0
./autogen.sh --system
make 
make install

Configuraciónwok

  1. Apague SELinux
# 永久关闭/启动:修改/etc/sysconfig/selinux后重启系统
vim /etc/sysconfig/selinux # 将“SELINUX=enforcing“改成“SELINUX=desabled”
  1. El firewall permite el acceso al puerto y el wok usa el puerto 8001 de forma predeterminada. Para conocer las operaciones comunes del firewall, consulte Centos8 Firewall Operations
firewall-cmd --add-port=8001/tcp --permanent 
firewall-cmd --reload
  1. Configurar arranque
systemctl enable wokd

Habilitar la depuración del modo de desarrollo

python3 /bin/wokd --environment=dev

wokInstalación de complemento

  1. kimchiInstalación, consulte instalación e implementación de kimchi en CentOS8

problema comun

Problema de compilación

  1. La ejecución ./autogen.sh --systeminformó el siguiente error
./autogen.sh: line 23: aclocal: command not found
./autogen.sh: line 24: automake: command not found
./autogen.sh: line 25: autoreconf: command not found

Solución: faltan automakeherramientas

dnf install automake
  1. El mensaje de error es el siguiente
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH

Solución: faltagcc

dnf install gcc
  1. El mensaje de error es el siguiente
configure.ac:59: error: required file 'build-aux/compile' not found
configure.ac:59:   'automake --add-missing' can install 'compile'
configure.ac:59: error: required file 'build-aux/config.guess' not found
configure.ac:59:   'automake --add-missing' can install 'config.guess'
configure.ac:59: error: required file 'build-aux/config.sub' not found
configure.ac:59:   'automake --add-missing' can install 'config.sub'

Solución:

automake --add-missing
  1. El mensaje de error es el siguiente
checking whether make sets $(MAKE)... no

Solución: faltamake

dnf install make
  1. El mensaje de error es el siguiente
checking for pyflakes... no
configure: WARNING: pyflakes not found

Solución:

pip3 install pyflakes

Problema de ejecución

  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'cherrypy'

Solución:

pip3 install cherrypy
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'ldap'

Solución: se produjo un error durante el proceso de instalación, consulte el manejo de errores comunes de Python [sistema CentOS8] (aplicación de instalación de pip)

pip3 install python-ldap
  1. El mensaje de error es el siguiente
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/wok/auth.py", line 34, in <module>
    import PAM
ModuleNotFoundError: No module named 'PAM'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/bin/wokd", line 30, in <module>
    import wok.server
  File "/usr/lib/python3.6/site-packages/wok/server.py", line 28, in <module>
    from wok import auth
  File "/usr/lib/python3.6/site-packages/wok/auth.py", line 36, in <module>
    import pam as PAM
ModuleNotFoundError: No module named 'pam'

Solución:

pip3 install python-pam
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'Cheetah'

Solución:

pip3 install Cheetah3
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'lxml'

Solución:

pip3 install lxml
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'psutil'

Solución:

pip3 install psutil
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'websockify'

Solución: 注意: kimchiusar la versión más reciente websockifyhay un problema

pip3 install websockify==0.7.0
  1. El mensaje de error es el siguiente
ModuleNotFoundError: No module named 'jsonschema'

Solución:

pip3 install jsonschema
  1. El mensaje de error es el siguiente
rc: 4 error: Redirecting to /bin/systemctl status nginx.service
Unit nginx.service could not be found.
 returned from cmd: service nginx status
Redirecting to /bin/systemctl start nginx.service
Failed to start nginx.service: Unit nginx.service not found.

Solución:

dnf install nginx

Problema de configuración

  1. El mensaje de error es el siguiente
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

Después de la ejecución systemctl status nginx.service, el mensaje de error se muestra de la siguiente manera

Oct 23 21:57:03 kimchi nginx[63332]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Oct 23 21:57:03 kimchi nginx[63332]: nginx: [emerg] bind() to 0.0.0.0:8001 failed (13: Permission denied)
Oct 23 21:57:03 kimchi nginx[63332]: nginx: configuration file /etc/nginx/nginx.conf test failed

Ejecute el tail -100f /var/log/nginx/error.logcomando para ver la información del error del registro, la información del error se muestra de la siguiente manera

63706#0: bind() to 0.0.0.0:8001 failed (13: Permission denied)

Solución: La causa del problema es que SELinux intercepta las solicitudes de Nginx de forma predeterminada según el principio de privilegio mínimo, que se puede resolver desactivando SELinux

# 临时关闭 SELinux
setenforce 0
# 临时启动 
SELinux:setenforce 1
# 永久关闭/启动:修改/etc/sysconfig/selinux后重启系统
vim /etc/sysconfig/selinux # 将“SELINUX=enforcing“改成“SELINUX=desabled”

Supongo que te gusta

Origin blog.csdn.net/macaiyun0629/article/details/109211522
Recomendado
Clasificación