On Thursday, June 23, 2022 at 8:13:27 AM UTC-7 rcp....@gmail.com wrote:

> I have been working through migratiing a working Trac project from one 
> server (Ubuntu + cpanel) to another (Debian + Yunohost).
>
> I got the basics done using https://trac.edgewall.org/wiki/TracMigrate 
> and tweaking for my setup (git instead of Subversion).  I have now got Trac 
> running on the new server with all my data.
>

Please feel free to add anything you think would help to that page. It's 
been cobbled together but could use some work.
 

> **But**
>
> The hotcopy process doesn't seem to have backed up all of my Plugins into 
> the backup folder.  On the original server, I had Trac running in a virtual 
> environment and had deployed to a separate htdocs folder (originally 
> created using trac_admin deploy IIRC).
>
 
Hotcopy will only capture plugins from the $env/plugins directory. Your 
plugins could be installed in many other places:
1. The global plugins directory
2. Python site-packages

More explanation here:
https://trac.edgewall.org/wiki/TracPlugins

On my original server, the htdocs folder within my Trac project in the 
> virtual environment contains three folders, "common", "site" and one that 
> is obviously related to one of my plugins: "tracworkflowadmin".
>
> On the original server, the *deployed* htdocs folder seems to contain 
> "site" and "common" folders as well as *all* the plugin folders.
>
> AFAICT, the hotcopy backup folder *only* copied the htdocs folder from 
> within the virtual environment.  It didn't copy the ones from the deployed 
> htdocs folder.
>
> I'm not sure if this is a failing of the hotcopy process or of the plugins 
> installation process.
>
> Anyway, to fix the problem, can I simply copy the missing folders from my 
> old server's deployed htdocs folder to the new, or do I need to reinstall 
> each plugin?
>

In general I would advise against that. The htdocs are an artifact and can 
change with each Trac and plugin version. For every Trac or plugin upgrade 
you should regenerate htdocs:
https://trac.edgewall.org/wiki/TracUpgrade#a6.Refreshstaticresources
https://trac.edgewall.org/wiki/TracPlugins#Redeployingstaticresources

There is a common pattern in which users deploy to the $env/htdocs 
directory, which can cause problems including infinite recursion in 
"trac-admin $env deploy". We added protection against the recursion, but 
I'd still advise against deploying to $env/htdocs.

The $env/htdocs is meant for site customizations. When you run deploy, the 
static assets for all plugins and $env/htdocs will be extracted to the 
target directory. This is where the possibility of infinite recursion 
arises. This is why htdocs is just an artifact and can be regenerated with 
a single command.

So it's better to separate out your deployment directory and have the 
environment separate from the deployment dir. This might look something 
like:
/var/trac/$env
/var/www/trac/htdocs

You'll need to reinstall all of your plugins in the new environment unless 
those plugins are all in $env/plugins. I have a requirements.txt listing 
all of the plugins for installing in the new environment. Then you can "pip 
install -r requirements.txt" following by "trac-admin $env deploy 
/path/to/deployment/dir".

Let me know if anything is unclear or you have any other questions.

Ryan

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to trac-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/trac-users/b636681f-5193-4494-b10f-3367263a06abn%40googlegroups.com.

Reply via email to