Lỗi tạo tài khoản admin khi cài đặt DSpace 6.2 trên CentOS 7.0 x64

Discussion in 'Hỏi đáp về Dspace' started by Nguyễn Thúc Phúc, Nov 10, 2017.

  1. Đây là dự định từ lâu của mình nhưng chưa thực hiện xong, vì 1 phần thì bận 1 phần thì gặp nhiều vướng mắc nên cài đến đâu hay đến đấy. Hôm nay đến công đoạn cuối cùng bị lỗi nhưng cũng muốn post lên cho anh em tham khảo để cùng tìm hiểu.
    Mình chọn cài DSpace 6.2 trên CentOS là vì phần này trên mạng rất ít chủ yếu hướng dẫn trên Windows và Ubuntu. Hơn nữa mình thấy CentOS dùng ổn định và ít tốn RAM hơn Windows và Ubuntu nhiều. Mình tham khảo nhiều nguồn kể cả trên dreamlib này.
    Các phần mềm cài đặt:
    DSpace 6.2
    1. Java jdk 1.8
    2. Ant 1.9.7
    3. Maven 3.3.9
    4. Postgresql 9.6
    5. Tomcat 8.5
    Tran huu Trung likes this.
  2. 1. Chuẩn bị máy chủ:
    Cài đặt CentOS version 7.0 64 bit (chế độ mini) chỉ cài đặt tối thiểu các gói và chỉ hoạt động bằng chế độ command line.
    Cấu hình cho phép SSH qua mạng LAN: chỉ thay đổi thông số trong file
    Sử dụng công cụ vi (text edit mặc định của hệ điều hành Redhat, CentOS)
    [root@localhost ssh]# vi /etc/ssh/sshd_config
    Bỏ dấu # trước dòng PermitRootLogin yes (nếu là no thì đổi lại thành yes)
    - Máy chủ phải kết nối mạng Internet.
    - Đăng nhập bằng quyền root.
    - Update hệ thống các gói liên quan mới nhất:
    yum update
    - Cài đặt wget, zip và unzip:
    yum install wget
    Total download size: 546 k
    Installed size: 2.0 M
    Nó hỏi: Is this ok [y/d/N]: y
    Gõ y rồi enter.
    Downloading packages:
    wget-1.14-13.el7.x86_64.rpm
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Warning: RPMDB altered outside of yum.
    Installing : wget-1.14-13.el7.x86_64
    Verifying : wget-1.14-13.el7.x86_64
    Installed:
    wget.x86_64 0:1.14-13.el7
    Tương tự cài đặt zip và unzip:
    yum install zip
    yum install unzip
    Tran huu Trung likes this.
  3. 3. Cài đặt Apache Ant 1.10.1
    Download trực tiếp bằng lệnh wget: (xem cài đặt wget ở trên)
    wget http://mirrors.viethosting.com/apache//ant/binaries/apache-ant-1.10.1-bin.zip
    Giải nén file apache-ant-1.10.1-bin.zip
    [root@localhost ~]# unzip apache-ant-1.10.1-bin.zip
    Chuyển các file đã giải nén đến thư mục /opt/ directory.
    [root@localhost ~]# mv apache-ant-1.10.1/ /opt/ant
    Make a symlink to ant/bin folder as shown below.
    [root@localhost ~]# ln -s /opt/ant/bin/ant /usr/bin/ant
    Thiết lập biến môi trường của ANT :
    Tạo file ant.sh ở thư mục /etc/profile.d/
    [root@localhost ~]# vi /etc/profile.d/ant.sh
    [root@localhost ~]#
    [root@localhost ~]# chmod +x /etc/profile.d/ant.sh
    [root@localhost ~]# source /etc/profile.d/ant.sh
    Khởi động lại máy chủ CentOS:
    [root@localhost ~]# shutdown -r now

    Kiểm tra thông số:
    [root@localhost ssh]# ant -version
    Apache Ant(TM) version 1.10.1 compiled on February 2 2017
    [root@localhost ssh]# echo $ANT_HOME
    /opt/ant
    [root@localhost ssh]# echo $PATH
    /usr/java/jdk1.8.0_131//bin:/opt/ant/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    4. Cài đặt APACHE MAVEN 3.5.0
    wget http://mirrors.viethosting.com/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip
    [root@localhost ~]# unzip apache-maven-3.5.0-bin.zip
    Archive: apache-maven-3.5.0-bin.zip
    creating: apache-maven-3.5.0/
    creating: apache-maven-3.5.0/lib/

    Di chuyển (move) apache-maven đến thư mục /opt/maven
    [root@localhost ~]# mv apache-maven-3.5.0/ /opt/maven
    Tạo liên kết đến thư mục maven/bin
    [root@localhost ~]# ln -s /opt/maven/bin/mvn /usr/bin/mvn

    Thiết lập biến môi trường cho Maven:
    Tạo mới file maven.sh trong thư mục /etc/profile.d/
    [root@localhost ~]# vi /etc/profile.d/maven.sh

    Copy và paste nội dung sau vào file maven.sh (cách sử dụng vi tương tự ở trên)
    #!/bin/bash
    MAVEN_HOME=/opt/maven
    PATH=$MAVEN_HOME/bin:$PATH
    export PATH MAVEN_HOME
    export CLASSPATH=.

    [root@localhost ~]# chmod +x /etc/profile.d/maven.sh
    [root@localhost ~]# source /etc/profile.d/maven.sh
    [root@localhost ~]# shutdown -r now

    Kiểm tra:
    mvn -version
    echo $MAVEN_HOME
    echo $PATH

    Xong Maven.

    5. Apache Tomcat
    Bây giờ chúng ta chơi với chú mèo Tom nào…
    wget http://mirrors.viethosting.com/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.zip

    [root@localhost ~]# mv apache-tomcat-8.5.15/ /opt/tomcat
    [root@localhost ~]#
    [root@localhost ~]# vi /etc/profile.d/tomcat.sh
    [root@localhost ~]# chmod +x /etc/profile.d/tomcat.sh
    [root@localhost ~]# source /etc/profile.d/tomcat.sh
    Now, we have to start the Tomcat server. Before starting Tomcat, give executable permission to the following script files.
    [root@localhost ~]# chmod +x $CATALINA_HOME/bin/startup.sh
    [root@localhost ~]# chmod +x $CATALINA_HOME/bin/shutdown.sh
    [root@localhost ~]# chmod +x $CATALINA_HOME/bin/catalina.sh
    [root@localhost ~]# cd $CATALINA_HOME/bin
    [root@localhost bin]# ./startup.sh
    Using CATALINA_BASE: /opt/tomcat
    Using CATALINA_HOME: /opt/tomcat
    Using CATALINA_TMPDIR: /opt/tomcat/temp
    Using JRE_HOME: /usr/java/jdk1.8.0_131/
    Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli
    .jar
    [root@localhost bin]# firewall-cmd --permanent --add-port=8080/tcp
    success
    [root@localhost bin]# firewall-cmd --reload
    successsuccessNow, navigate to http://ip-address:8080 from your web browser. You should see the following screen
    Autostart Tomcat

    #!/bin/sh
    # chkconfig: 2345 80 20

    # Description: Tomcat Start/Shutdown script

    export JAVA_HOME=/usr/java/jdk1.8.0_131

    case $1 in
    start)
    cd /opt/tomcat/bin/
    ./startup.sh
    ;;
    stop)
    cd /opt/tomcat/bin/
    ./shutdown.sh
    ;;
    restart)
    cd /opt/tomcat/bin/
    ./shutdown.sh
    cd /opt/tomcat/bin/
    ./startup.sh
    ;;
    esac
    exit 0
  4. 6. Postgresql
    yum install https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm OK
    yum update
    Cài đặt:
    [root@localhost ~]# yum install postgresql96-server postgresql96-contrib
    Loaded plugins: fastestmirror
    base | 3.6 kB 00:00
    extras | 3.4 kB 00:00
    pgdg96 | 4.1 kB 00:00
    updates | 3.4 kB 00:00
    pgdg96/7/x86_64/primary_db | 147 kB 00:01
    Loading mirror speeds from cached hostfile
    * base: centos-hn.viettelidc.com.vn
    * extras: centos-hn.viettelidc.com.vn
    * updates: centos-hn.viettelidc.com.vn
    Resolving Dependencies
    --> Running transaction check
    ---> Package postgresql96-contrib.x86_64 0:9.6.3-1PGDG.rhel7 will be installed
    --> Processing Dependency: postgresql96-libs(x86-64) = 9.6.3-1PGDG.rhel7 for pac
    (đoạn này dài dòng... cắt bớt)
    --> Finished Dependency Resolution

    Dependencies Resolved

    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Installing:
    postgresql96-contrib x86_64 9.6.3-1PGDG.rhel7 pgdg96 563 k
    postgresql96-server x86_64 9.6.3-1PGDG.rhel7 pgdg96 4.3 M
    Installing for dependencies:
    libxslt x86_64 1.1.28-5.el7 base 242 k
    postgresql96 x86_64 9.6.3-1PGDG.rhel7 pgdg96 1.3 M
    postgresql96-libs x86_64 9.6.3-1PGDG.rhel7 pgdg96 310 k

    Transaction Summary
    ================================================================================
    Install 2 Packages (+3 Dependent packages)

    Total download size: 6.7 M
    Installed size: 28 M
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/5): libxslt-1.1.28-5.el7.x86_64.rpm | 242 kB 00:05
    (2/5): postgresql96-contrib-9.6.3-1PGDG.rhel7.x86_64.rpm | 563 kB 00:09
    (3/5): postgresql96-9.6.3-1PGDG.rhel7.x86_64.rpm | 1.3 MB 00:13
    (4/5): postgresql96-server-9.6.3-1PGDG.rhel7.x86_64.rpm | 4.3 MB 00:11
    (5/5): postgresql96-libs-9.6.3-1PGDG.rhel7.x86_64.rpm | 310 kB 00:18
    --------------------------------------------------------------------------------
    Total 241 kB/s | 6.7 MB 00:28
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : postgresql96-libs-9.6.3-1PGDG.rhel7.x86_64 1/5
    .......
    Verifying : postgresql96-contrib-9.6.3-1PGDG.rhel7.x86_64 5/5

    Installed:
    postgresql96-contrib.x86_64 0:9.6.3-1PGDG.rhel7
    postgresql96-server.x86_64 0:9.6.3-1PGDG.rhel7

    Dependency Installed:
    libxslt.x86_64 0:1.1.28-5.el7
    postgresql96.x86_64 0:9.6.3-1PGDG.rhel7
    postgresql96-libs.x86_64 0:9.6.3-1PGDG.rhel7

    Complete!
    [root@localhost ~]#

    Initialize postgresql database using following command:
    /usr/pgsql-9.6/bin/postgresql96-setup initdb
    systemctl enable postgresql-9.6.service
    systemctl start postgresql-9.6.service

    firewall-cmd --permanent --add-port=5432/tcp
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --reload

    Adjust SELinux

    Run the following command to make PostgreSQL work if SELinux enabled on your system.
    [root@localhost ~]# setsebool -P httpd_can_network_connect_db 1
    Access PostgreSQL command prompt
    Tên cơ sở dữ liệu và cơ sở dữ liệu mặc định là "postgres". Chuyển sang người dùng postgres để thực hiện các hoạt động liên quan đến postgresql:
    [root@localhost /]#
    psql --username=postgres dspace -c "CREATE EXTENSION pgcrypto;" (Không có dòng lệnh này sẽ bị lỗi khi tạo user)
    [root@localhost ~]# su - postgres
    Last login: Thu Nov 2 14:28:09 +07 2017 on pts/0
    -bash-4.2$ psql
    Password:
    psql (9.6.5)-bash-4.2$ createuser -U postgres -d -A -P dspace
    Enter password for new role:
    Enter it again:
    Password:
    -bash-4.2$
    -bash-4.2$ createdb -U dspace -E UNICODE dspace
    Password:
    -bash-4.2$ exit
    logout
    Het huong dan unixmen
    https://wiki.duraspace.org/display/DSDOC6x/Installing DSpace

    [dspace@localhost dspace]$ cd /dspace/dspace-6.2-release/dspace/target/dspace-installer
    [root@localhost dspace-installer]# vi /dspace/dspace-6.2-release/dspace/config/dspace.cfg
    [root@localhost dspace-installer]# ant fresh_install

    [root@localhost dspace-installer]# ant fresh_install
    Buildfile: /dspace/dspace-6.2-release/dspace/target/dspace-installer/build.xml
    init_installation:
    prepare_configs:
    [mkdir] Created dir: /dspace/dspace-6.2-release/dspace/target/dspace-install
    er/config-temp
    [copy] Copying 159 files to /dspace/dspace-6.2-release/dspace/target/dspace
    -installer/config-temp
    [copy] Copying 1 file to /dspace/dspace-6.2-release/dspace/target/dspace-in
    staller/config-temp
    [copy] Copying 16 files to /dspace/dspace-6.2-release/dspace/target/dspace-
    installer/config-temp
    init_configs:
    [copy] Copying 1 file to /dspace/config
    [delete] Deleting directory /dspace/dspace-6.2-release/dspace/target/dspace-installer/config-temp

    test_database:
    [java] 2017-11-02 15:57:59,216 WARN org.dspace.services.email.EmailService
    Impl @ Couldn't get an email session from environment: Need to specify class na
    me in environment or system property, or as an applet parameter, or in an applic
    ation resource file: java.naming.factory.initial
    [java]
    [java] Attempting to connect to database
    [java] Connected successfully!
    [java]
    [java] Database Type: postgres
    [java] Database URL: jdbc:postgresql://localhost:5432/dspace
    [java] Database Schema: public
    [java] Database Username: dspace
    [java] Database Software: PostgreSQL version 9.6.5
    [java] Database Driver: PostgreSQL Native Driver version PostgreSQL 9.4.121
    1
    [java] PostgreSQL 'pgcrypto' extension installed/up-to-date? true (version=
    1.3)
    [java] 2017-11-02 15:57:59,682 WARN org.dspace.services.sessions.SessionRe
    questServiceImpl @ Request interceptor (org.dspace.services.events.SystemEventSe
    rvice$EventRequestInterceptor@32c52931) failed to execute on end (request-639-15
    09613079501): null

    install_code:
    [copy] Copying 8 files to /dspace/bin
    [copy] Copying 175 files to /dspace/lib
    [copy] Copying 5 files to /dspace/etc
    [copy] Copying 52 files to /dspace/solr
    [echo]
    [echo] ====================================================================
    [echo] The DSpace code has been installed.
    [echo] ====================================================================
    [echo]

    fresh_install:
    copy_webapps:
    [copy] Copying 2990 files to /dspace/webapps
    [copy] Copied 302 empty directories to 1 empty directory under /dspace/webapps
    [copy] Copying 10 files to /dspace/webapps
    build_webapps_wars:
    check_geolite:
    init_geolite:
    update_geolite:
    [echo] Downloading: http://geolite.maxmind.com/download/geoip/database/GeoL
    iteCity.dat.gz
    [get] Getting: http://geolite.maxmind.com/download/geoip/database/GeoLiteC
    ity.dat.gz
    [get] To: /dspace/config/GeoLiteCity.dat.gz
    [get] ....................................................
    [get] ....................................................
    [get] ...................
    [gunzip] Expanding GeoLiteCity.dat.gz to /dspace/config/GeoLiteCity.dat
    [delete] Deleting: /dspace/config/GeoLiteCity.dat.gz
    [echo]
    [echo] ====================================================================
    [echo] The DSpace code has been installed.
    [echo]
    [echo] To complete installation, you should do the following:
    [echo]
    [echo] * Setup your Web servlet container (e.g. Tomcat) to look for your
    [echo] DSpace web applications in: /dspace/webapps/
    [echo]
    [echo] OR, copy any web applications from /dspace/webapps/ to
    [echo] the appropriate place for your servlet container.
    [echo] (e.g. '$CATALINA_HOME/webapps' for Tomcat)
    [echo]
    [echo] * Start up your servlet container (e.g. Tomcat). DSpace now will
    [echo] initialize the database on the first startup.
    [echo]
    [echo] * Make an initial administrator account (an e-person) in DSpace:
    [echo] /dspace/bin/dspace create-administrator
    [echo]
    [echo] You should then be able to access your DSpace's 'home page':
    [echo]
    [echo] http://localhost:8080/xmlui
    [echo]
    [echo] ====================================================================
    [echo]

    BUILD SUCCESSFUL
    Total time: 22 seconds
    [root@localhost dspace-installer]# cd /
    [root@localhost /]# cd dspace/
    [root@localhost dspace]# cd webapps/
    [root@localhost webapps]# ls
    jspui oai rdf rest solr sword swordv2 xmlui
    [root@localhost webapps]# cp -r xmlui/ /opt/tomcat/webapps
    [root@localhost webapps]# cp -r oai/ /opt/tomcat/webapps
    [root@localhost webapps]# cp -r solr/ /opt/tomcat/webapps
    [root@localhost webapps]# cp -r sword/ /opt/tomcat/webapps
    [root@localhost webapps]# cp -r swordv2/ /opt/tomcat/webapps
    [root@localhost webapps]# cd /opt/tomcat/conf/Catalina/localhost
    [root@localhost localhost]#
  5. Server.xml
    <Connector port="8080"
    maxThreads="150"
    minSpareThreads="25"
    maxSpareThreads="75"
    enableLookups="false"
    redirectPort="8443"
    acceptCount="100"
    connectionTimeout="20000"
    disableUploadTimeout="true"
    URIEncoding="UTF-8"/>
    [root@localhost /]# /dspace/dspace-6.2-release/dspace/bin/dspace create-administrator
    -bash: /dspace/dspace-6.2-release/dspace/bin/dspace: Permission denied

    Đang bị lỗi ở đây (không tạo được account admin):
    [dspace@localhost dspace-6.2-release]$ ls -lh
    total 132K
    drwxr-xr-x. 9 dspace dspace 101 Nov 1 16:19 dspace
    -rw-r--r--. 1 dspace dspace 1.9K Sep 8 03:29 LICENSE
    -rw-r--r--. 1 dspace dspace 194 Sep 8 03:29 LICENSE_HEADER
    -rw-r--r--. 1 dspace dspace 43K Sep 8 03:29 LICENSES_THIRD_PARTY
    -rw-r--r--. 1 dspace dspace 819 Sep 8 03:29 NOTICE
    -rw-r--r--. 1 dspace dspace 66K Sep 8 03:29 pom.xml
    -rw-r--r--. 1 dspace dspace 4.2K Sep 8 03:29 README.md
    [dspace@localhost dspace-6.2-release]$ cd /
    [dspace@localhost /]$

    Trên đây mình post cụ thể gần như toàn bộ quá trình cài đặt, rất mong anh em giúp sửa chỗ lỗi cuối cùng.
    Phạm Quang Quyền likes this.
  6. Tran huu Trung

    Tran huu Trung Active Member

    @Nguyễn Thúc Phúc
    Mình chưa dùng trên CentOS bao giờ nên cũng không nắm rõ lắm. Mình có mấy ý kiến thế này:
    1. Dspace khuyến cáo nên cài trên tài khoản Superuser - tránh dùng root, nhất là khi chạy ant_fresh_install. Cái này mình không nhớ là vì sao. Bạn tạo tài khoản dspace và làm lại thử xem.
    2. Bạn chạy http://localhost:8080 có lên không?
    3. Ngoài lệnh dspace create-administrator không chạy, các lệnh khác có chạy không?
    4. Lệnh mvn package bạn đã thực hiện chưa?
    5. Trong dspace.cfg nên đưa thông số cho gửi nhận mail luôn (cái này dspace sẽ kiểm tra khi tạo người dùng). Bạn chạy dspace test-email xem Dspace có thể gửi và nhận mail ko?

    Theo mình bạn tạo tài khoản dspace trên máy, quay trở lại bắt đầu thực hiện lại từ chạy mvn package. Good luck and have fun
    Phạm Quang Quyền likes this.
  7. Cám ơn Tran huu Trung ,
    Cuối năm bận quá nên chưa làm tiếp được.
    CentOS trên máy chủ chỉ cài đặt ở giao diện CMD (không cài giao diện đồ hoạ) trên không test trực tiếp bằng http://localhost:8080 mà test bằng IP nội bộ (LAN) thì vẫn lên Tomcat 8.5.
    Sẽ thử làm theo ý của bạn.
    Thanks!

    Attached Files:

    Phạm Quang Quyền likes this.
  8. Tran huu Trung

    Tran huu Trung Active Member

    @Nguyễn Thúc Phúc
    Uh, cài được trên CentOS thì ngon. Bên mình thì chuyển sang dùng Docker rồi. Tuần sau mình sẽ đưa hướng dẫn cài Dspace Docker lên để anh em cùng test xem thế nào.

Share This Page