I’m struggling to upgrade an existing v9 installation to v10 so thought I’d check I can do a clean install but I can’t get that working either. I’ve included the detailed install instructions for installation on Centos v8, MariaDB v11.1 and Python v3.9.16. It fails to start the gunicorn web server in seahub.sh. I’ve added debug statements to seahub.sh and all the parameter seem correct. There is nothing written to the console and nothing written to the logs AFAIK. Some observations:
- As documented in another post, I had to add a symbolic link to lib64 because it’s missing from a clean install (that’s a bug IMO)
- I’ve not installed memcached yet because the Centos v8 instructions don’t work (libmemcached is unknown). I’ll revisit that later but would have prevent Seahub from starting?
- Next steps would be to start Seafile & Seahub services on boot but that’s not critical at this stage.
- Nginx not installed yet but once again, it should work on port 8000.
- Follow very similar steps for v9 and it works so it’s some quirk with v10.
CentOS v8.x: 4 vCPU, 2GB RAM, 128GB OS, DHCP network
Install options: UK; automatic partitions; Software: server; Time zone: London; Network: on, auto connect, DHCP; root pwd: XYZ; User: itsystem; pwd: XYZ; admin
Switch to root: sudo -i
CentOS updates: dnf -y update
Install release package library: dnf -y install epel-release
Install some useful tools: dnf -y install atop htop
MariaDB latest version install (11.1)::
Download MariaDB repo setup script: cd /tmp && wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
Enable script: chmod +x mariadb_repo_setup
Install the latest repo: ./mariadb_repo_setup
Install MariaDB server: dnf -y install mariadb-server mariadb-devel
Start MariaDB server and enable service: systemctl enable mariadb --now
Secure the installation with roo pwd=XYZ: mariadb-secure-installation
Install Python 3.9.16 (has to be compiled)::
Install compiler and modules: dnf -y install gcc openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel
Download Python source: cd /usr/src && wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz
Unpack source: tar -xzf Python-3.9.16.tgz
Change to source code folder: cd Python-3.9.16
Configure compilation: ./configure --enable-optimizations
Compile but leave old Python in place: make && make install
Remove archive: rm /usr/src/Python-3.9.16.tgz -f
Create symbolic link for python3: ln -s /usr/local/bin/python3.9 /usr/bin/python3
Create symbolic link for pip3: ln -s /usr/local/bin/pip3.9 /usr/bin/pip3
Upgrade pip3 23.2.1: /usr/local/bin/python3.9 -m pip install --upgrade pip
Install Seafile v10.x::
Install Python3 packages: pip3 install wheel django==3.2.* future==0.18.* mysqlclient==2.1.* pymysql pillow==9.3.* pylibmc captcha==0.4 markupsafe==2.0.1 jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django_simple_captcha==0.5.* pycryptodome==3.16.* cffi==1.15.1 lxml
Create program directory: mkdir /opt/seafile && cd /opt/seafile
Create seafile user: adduser seafile
Change ownership of folder: chown -R seafile: /opt/seafile
Change to seafile user: su seafile
Download program: wget -O ‘seafile-pro-server_10.0.9_x86-64_CentOS.tar.gz’ ‘https://download.seafile.com/d/6e5297246c/files/?p=%2Fpro%2Fseafile-pro-server_10.0.9_x86-64_CentOS.tar.gz&dl=1’
Unpack archive: tar -xvf seafile-pro-server_10.0.9_x86-64_CentOS.tar.gz
Change to seafile folder: cd seafile-pro-server-10.0.9
Run the setup script: server=seafile2; IP=192.168.0.66: ./setup-seafile-mysql.sh
Add symbolic link to allow Seafile to find it’s own packages with Python3: cd /opt/seafile/seafile-server-latest/seafile/lib64 && ln -s python2.7 python3
Start seafile: ./seafile.sh start
Start seahub: ./seahub.sh start
Seahub.sh simply reports Seahub didn’t start. I guess I might have to teach myself about gunicorn, the Python web server used by Seafile…