Open Xchange `/opt/open-xchange/sbin/registerserver` 명령이 `조회 실패'를 표시하는 문제를 해결하는 방법. "OXUtil_V2" 서비스를 사용할 수 없습니다.` 오류

Open Xchange `/opt/open-xchange/sbin/registerserver` 명령이 `조회 실패'를 표시하는 문제를 해결하는 방법. "OXUtil_V2" 서비스를 사용할 수 없습니다.` 오류

저는 Open Xchange를 처음 사용하고 있으며 다음을 따라 깨끗한 Debian 10.7 VM에 설치하려고 합니다.공식 설치 지침.

동일한 서버에 MariaDB를 설치하고 루트 사용자에게 비밀번호( root_db_pass#example)를 제공하고 새 데이터베이스( )를 생성했으며 비밀번호( #example)를 사용하는 open_xchange사용자( )를 생성했습니다 .open_xchange_userox_db_pass

Open-Xchange configdb 데이터베이스( )에서 로컬 서버를 등록해야 할 때까지 제대로 작동하는 설치 지침의 모든 단계를 수행했지만 /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P admin_master_password오류가 발생했습니다.

root@axx-oxch-srv01:~# /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P admin_master_password

server could not be registered:
Server response:
 Look-up failed. Service "OXUtil_V2" is not available.
        at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:227)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(RegistryImpl_Skel.java:133)
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:469)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:301)
        at sun.rmi.transport.Transport$1.run(Transport.java:200)
        at sun.rmi.transport.Transport$1.run(Transport.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:380)
        at sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:123)
        at java.rmi.Naming.lookup(Naming.java:101)
        at com.openexchange.admin.console.util.server.RegisterServer.<init>(RegisterServer.java:77)
        at com.openexchange.admin.console.util.server.RegisterServer.main(RegisterServer.java:91)


이 문제를 Google에 검색했지만 이에 대해 찾을 내용이 거의 없습니다. 오타가 없는지 확인하기 위해 비밀번호를 3번이나 확인했습니다! 이 문제를 어떻게 해결할 수 있나요?


나에게 도움이 필요할 수 있는 추가 정보

사용된 initconfigdb명령

/opt/open-xchange/sbin/initconfigdb --configdb-dbname open_xchange --configdb-user open_xchange_user --configdb-pass ox_db_pass --mysql-root-passwd root_db_pass 

사용된 oxinstaller명령

/opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver --configdb-pass=ox_db_pass --master-pass=admin_master_password --network-listener-host=localhost --servermemory 1024

더 많은 데이터가 필요한 경우 알려주시면 질문을 업데이트하겠습니다.


업데이트 1

방금 콘솔에 표시된 메시지와 다른 내용이 기록되어 있음을 발견했습니다. service open-xchange restart실행 후 필요한 로그 항목이 i 다음에 나타납니다./opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver

로그:

2021-01-07T01:56:55,546-0600 INFO  [pool-8-thread-1] com.openexchange.startup.impl.osgi.DBMigrationMonitorTracker$1.run(DBMigrationMonitorTracker$1.java:132)


        Open-Xchange Server v7.10.4-Rev14 initialized. The server should be up and running...

2021-01-07T01:57:01,425-0600 INFO  [OXTimer-0000006] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.cancelTimerTask(PermanentListenerRescheduler.java:207)
Canceled timer task for rescheduling checks
2021-01-07T01:57:01,439-0600 WARN  [OXTimer-0000006] com.openexchange.database.internal.ReplicationMonitor.checkActualAndFallback(ReplicationMonitor.java:181)
DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=808265395-5
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=808265395-5
        at com.openexchange.database.DBPoolingExceptionCodes.create(DBPoolingExceptionCodes.java:260)
        at com.openexchange.database.internal.ReplicationMonitor.createException(ReplicationMonitor.java:245)
        at com.openexchange.database.internal.ReplicationMonitor.checkActualAndFallback(ReplicationMonitor.java:174)
        at com.openexchange.database.internal.ReplicationMonitor.checkActualAndFallback(ReplicationMonitor.java:157)
        at com.openexchange.database.internal.ConfigDatabaseServiceImpl.get(ConfigDatabaseServiceImpl.java:138)
        at com.openexchange.database.internal.ConfigDatabaseServiceImpl.get(ConfigDatabaseServiceImpl.java:133)
        at com.openexchange.database.internal.ConfigDatabaseServiceImpl.getReadOnly(ConfigDatabaseServiceImpl.java:173)
        at com.openexchange.database.internal.DatabaseServiceImpl.getReadOnly(DatabaseServiceImpl.java:152)
        at com.openexchange.push.impl.PushDbUtils.getContextsWithPushRegistrations(PushDbUtils.java:296)
        at com.openexchange.push.impl.PushDbUtils.getPushRegistrations(PushDbUtils.java:256)
        at com.openexchange.push.impl.PushManagerRegistry.getUsersWithPermanentListeners(PushManagerRegistry.java:834)
        at com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:364)
        at com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.doReschedule(PermanentListenerRescheduler.java:341)
        at com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.checkReschedule(PermanentListenerRescheduler.java:327)
        at com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler$1.run(PermanentListenerRescheduler.java:284)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$ScheduledFutureTask.runPeriodic(CustomThreadPoolExecutor.java:1016)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$ScheduledFutureTask.run(CustomThreadPoolExecutor.java:1041)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:834)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:861)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.openexchange.pooling.PoolingException: Cannot create pooled object.
        at com.openexchange.pooling.ReentrantLockPool.get(ReentrantLockPool.java:320)
        at com.openexchange.database.internal.AbstractMetricAwarePool.get(AbstractMetricAwarePool.java:149)
        at com.openexchange.database.internal.AbstractMetricAwarePool.get(AbstractMetricAwarePool.java:72)
        at com.openexchange.database.internal.TimeoutFetchAndSchema.get(TimeoutFetchAndSchema.java:93)
        at com.openexchange.database.internal.ReplicationMonitor.checkActualAndFallback(ReplicationMonitor.java:167)
        ... 19 common frames omitted
===>>> Caused by: java.sql.SQLException: Access denied for user 'openexchange'@'localhost' (using password: YES) <<<===
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
...
...

다음 줄을 참고하세요: Caused by: java.sql.SQLException: Access denied for user 'openexchange'@'localhost' (using password: YES). 이것은 명령 openexchange@localhost중에 내가 제공한 사용자가 아니며 initconfigdbMariaDB에서 생성한 데이터베이스 사용자와도 일치하지 않기 때문에 흥미로웠습니다.

내가 만든 사용자와 동일한 비밀번호로 해당 사용자를 생성하려고 시도하고 모든 것을 다시 실행했지만 불행히도 이로 인해 동일한 오류가 발생합니다. Open Xchange가 이 사용자를 어디에서 가져왔는지 전혀 모르겠습니다...???

답변1

업데이트 1에 설명된 오류에서 기본 사용자 이름이 사용된다는 것을 알았습니다. 이는 명령 --configdb-username=open_xchange_user에 매개변수가 누락되었기 때문입니다 oxinstaller.

이것은 또한 나에게도 --configdb-database=open_xchange필요할 것이라고 생각하게 만들었습니다.

--configdb-writehost=localhost또한 클러스터 대신 데이터베이스 서버를 1개만 사용하는 경우에도 필요한 것으로 보이므로 oxinstaller 명령에 매개변수를 추가했습니다 . (보다https://oxpedia.org/wiki/index.php?title=OXLoadBalancingClustering_Database#Configure_OX_to_use_with_a_standalone_database)

업데이트된 oxinstaller명령은 다음과 같습니다.

/opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver --configdb-server=open_xchange --configdb-user=open_xchange_user --configdb-pass=ox_db_pass --configdb-writehost=localhost --master-pass=admin_master_password --network-listener-host=localhost --servermemory 1024

그 후에는 모든 것이 잘 작동합니다.

관련 정보