@rdb, thanks for your responses to my topics, particularly the second one on documentation. This one is for suggestions about Installation with MySQL - Seafile Admin Manual .
Where I went wrong is at
Tip: If you have little experience with Seafile Server, we recommend that you use an installation script for deploying Seafile.
I went off and ran the script without installing mysql and the other dependencies first. I suggest you remove that line from the document, so people will install mysql and the other dependencies first. (After the prerequisites section, your document already points us to the setup script, setup-seafile-mysql.sh)
I suggest you add to this line:
Seafile prior to and including Seafile 7.0 use Python 2. More recent versions rely on Python 3.
āChoose the instructions below that are relevant for your system:ā
I suggest you add sudo at the beginning of the line
mkdir /opt/seafile
The following adduser and chown commands will also need to run as root, I think, so I suggest you add sudo at the beginning of each of them also. Experienced system administrators will know that and can add sudo where needed, but so that less experienced users of SeaFile can just copy a whole command and paste it, I think the sudo commands would help in the documentation.
When it comes to downloading the security key, the new user seafile needs to be able to use sudo, so I suggest you add, straight after the adduser command, this one:
sudo usermod -aG sudo seafile
For the command
su seafile
I suggest you change it to
su -l seafile
so the new shell running as the user seafile will be regarded as a login shell, and will pick up seafileās environment, and the command line history will work proplerly.
Your line:
Download the install package from the download page on Seafileās website using wget.
took me to a page where I clicked on the link Client for Linux instead of getting the Server package. (Seems Iāll get things wrong if I possibly can ) I think it would be helpful if your document says to scroll down to the Server section and click the link for the relevant version under Server for generic Linux. (Perhaps this page has changed since you updated your documentation page.) Downloading this file doesnāt need wget.
I was working through the client install instructions (incorrectly), and that did involve using wget to install the key for the software repository. (Not needed for downloading the tar file.) When I ran the command to install the debug symbols, I got two error messages:
Reading package listsā¦ Done
Building dependency tree
Reading state informationā¦ Done
E: Unable to locate package ccnet-dbg
E: Unable to locate package libccnet-dbg
It seems I donāt have the right software source listed to get these two. I have searched online but have not found what source I need to add. I have asked a question at Ask Ubuntu, and if I get an answer Iāll add something here. ā yes, I did get an answer, at StackExchange: " The package libccnet-dbg
is not available for any release of Ubuntu". So would you like to ask the maintainer of the client-installation page to look into whether or not those two -dbg items are needed, and perhaps remove them from that page.
When I got to the point of running the correct setup script, setup-seafile-mysql.sh, it worked well till it got to accessing the database. It was not able to log in to mysql as root@localhost. In a separate terminal window I was able to log in with
sudo mysql -u root -p
and this made me think that mysql was still using the authentication method based on the Linux account of the person trying to log in, instead of with mysql_native_password. So I went back to your documentation and found the bit where you say that the the tutorials on the Digital Ocean website show how to change the authentication method to mysql_native_password. I searched there but couldnāt find out how to do that. I had previously worked through the tutorial for installing mysql for Ubuntu 20.04, but that contains nothing about setting the authentication method to mysql_native_password.
But I did find an answer at Stack Overflow that included the mysql commands to do that. I suggest you add these to the documentation where you talk about setting this authentication method.
sudo mysql -u root -p
and then at the mysql prompt:
ALTER USER ārootā@ālocalhostā IDENTIFIED BY āpasswordā PASSWORD EXPIRE NEVER;
ALTER USER ārootā@ālocalhostā IDENTIFIED WITH mysql_native_password BY āpasswordā;
The reader should change password to a sensible password, of course
Would it be appropriate to add the commands for creating the user seafile@localhost with mysql_native_password also?
Iāll send this off now, and may have more suggestions later. Thanks for all your good work on the documentation.