Ferreteria/install: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* Clone the [https://gitlab.com/woozalia/ferreteria Ferreteria Git repository] into a folder of your choice, which we'll call {[arg|ferreteria base}}.
==Summary==
** My [[User:Woozle/setups/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/git/ferreteria/</code>.
* Clone the [https://gitlab.com/woozalia/ferreteria Ferreteria Git repository] into a folder of your choice, which we'll call {{arg|ferreteria base}}.
* Copy the <code>{{arg|ferreteria base}}/config</code> folder to a location outside of <code>[ferreteria base]</code>.
** My [[Conventions/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/git/ferreteria/</code>.
** We'll call this new location <code>{{arg|local config}}</code>.
* Make a "config" folder outside of the repository.
** My [[User:Woozle/setups/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/config/ferreteria</code>
** My [[Conventions/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/config/ferreteria</code>
* Optional: Modify each file to match your local environment, according to instructions in each file.
* Inside this folder:
** There's currently only one file, <code>const.php</code>, and it normally won't need modifying.
** Link from the <code>{{arg|ferreteria git folder}}/config/portable</code> folder so it appears here.
==Woozle's setup==
*** {{hilite|TODO}}: add this to detailed instructions:
Some specifics of how I usually set things up these days, giving examples from the dev instance I'm setting up as I type this (see [[User:Woozle/setups/vdomain]] for definitions):
**** From inside the "portable" folder: <code>ln -rs ../../git/ferreteria/config/portable/ portable</code>
** Copy the <code>{{arg|ferreteria git folder}}/config/local/examples</code> folder.
* Adapt the examples for your local environment, according to instructions in each file, and put the results in <code>{{arg|ferreteria git folder}}/config/local/</code>.
 
{{hilite|TODO}}: turn <code>/home/{{arg|user}}/site/config/ferreteria/local/site.php</code> into an example file, once it is working.
 
I think it may also be necessary to link <code>{{arg|ferreteria git folder}}/config/local/ide.php</code>, but this seems a bit sloppy if so; the need-case should be documented or this should be tidied up.
==Details==
I'll use the following shorthand:
* '''{{arg|$HOME}}''' = the home folder for all of the domain-user's files
* '''{{arg|$WEB}}''' = the public HTML folder (typically <code>public_html</code> or <code>www</code>) inside {{arg|$HOME}}
* '''{{arg|$ft}}''' = the Ferreteria base folder (My convention: {{arg|$HOME}}/site/git/ferreteria)
 
See [[conventions/vdomain]] for more explanation.
===Preparation===
===Preparation===
You'll need to have {{arg|$USER}}'s account set up with an [[ssh]] key that can access GitLab. At least, I ''think'' that's the requirement. It might be more GitLab-project-specific.
You'll need to have {{arg|$USER}}'s account set up with an [[ssh]] key that can access GitLab. At least, I ''think'' that's the requirement. It might be more GitLab-project-specific.
===Steps===
===Steps===
Run these commands in a terminal on your web server (you can skip <code>[[mkdir]]</code> wherever the folder already exists):
These instructions assume some common-sense understandings (generally: if a thing has already been done outside of these instructions, you don't need to do it again here).
* cd {{arg|$HOME}}
 
* su {{arg|$USER}}
[2022-10-14] Also, they are probably not entirely up-to-date with the current structure.
* [[mkdir]] site
{| class=wikitable
* cd site
|-
* mkdir git
! Action / Intention !! Commands !! Where You End Up
* [[git clone]] git@gitlab.com:woozalia/ferreteria.git
|-
* cd ..
| colspan=3 | Make sure you're in the right place as the right user.
* mkdir config
|-
* cd config
| ||
* cp -R ../git/ferreteria/config ferreteria
cd {{arg|$HOME}}
su {{arg|$USER}}
| {{arg|$HOME}}
|-
| colspan=3 | Set up some folders.
|-
| ||
[[mkdir]] site
cd site
mkdir git
cd git
| <code>{{arg|$HOME}}/site/git</code>
|-
| colspan=3 | Clone the Ferreteria repository.
|-
| ||
[[git clone]] git@gitlab.com:woozalia/ferreteria.git
cd ..
| <code>{{arg|$HOME}}/site</code>
|-
| colspan=3 | Create the site's config folder.
|-
| ||
mkdir config
cd config
| <code>{{arg|$HOME}}/site/config</code>
|-
| colspan=3 | Copy config files from the repository into the config folder, where you can make changes.
|-
| ||
cp -R ../git/ferreteria/config ferreteria
cd ..
mkdir dropins
cd dropins
| <code>{{arg|$HOME}}/site/dropins</code>
|-
| colspan=3 | Link from within the site-wide dropins folder to specific Ferreteria dropins you want to use.
|-
| ||
ln -rs ../git/ferreteria/dropins/basics basics
ln -rs ../git/ferreteria/dropins/users users
ln -rs ../git/ferreteria/dropins/wiki wiki
|-
| colspan=3 |
Note that you may rename the folder-links anything you like (e.g. prefixing them with numbers for sorting); all folders in <code>{{arg|$HOME}}/site/dropins</code> will be checked for valid drop-ins.
|}
TODO: configuration instructions
===for standalone===
===for standalone===
Make a <code>dropins</code> folder under <code>site</code>, and link or copy the folders for all the Ferreteria dropins you want to use into that folder.
Make a <code>dropins</code> folder under <code>site</code>, and link or copy the folders for all the Ferreteria dropins you want to use into that folder.
===for MediaWiki===
===for MediaWiki===
Where <code>$kfpSiteRoot</code> is the server user's folder, and ferreteria's repo is in <code>$kfpSiteRoot/git/ferreteria/</code>:
These instructions need to be rewritten. At present, I'm not putting much work into continuing to support MediaWiki.
<source lang=php>require_once($kfpSiteRoot.'/site/git/ferreteria/start.php');
ferreteria\classloader\cLoader::LoadLibrary('ferreteria.mw.core');
</source>

Latest revision as of 00:40, 23 October 2022

Summary

  • Clone the Ferreteria Git repository into a folder of your choice, which we'll call <ferreteria base>.
  • Make a "config" folder outside of the repository.
  • Inside this folder:
    • Link from the <ferreteria git folder>/config/portable folder so it appears here.
      • TODO: add this to detailed instructions:
        • From inside the "portable" folder: ln -rs ../../git/ferreteria/config/portable/ portable
    • Copy the <ferreteria git folder>/config/local/examples folder.
  • Adapt the examples for your local environment, according to instructions in each file, and put the results in <ferreteria git folder>/config/local/.

TODO: turn /home/<user>/site/config/ferreteria/local/site.php into an example file, once it is working.

I think it may also be necessary to link <ferreteria git folder>/config/local/ide.php, but this seems a bit sloppy if so; the need-case should be documented or this should be tidied up.

Details

I'll use the following shorthand:

  • <$HOME> = the home folder for all of the domain-user's files
  • <$WEB> = the public HTML folder (typically public_html or www) inside <$HOME>
  • <$ft> = the Ferreteria base folder (My convention: <$HOME>/site/git/ferreteria)

See conventions/vdomain for more explanation.

Preparation

You'll need to have <$USER>'s account set up with an ssh key that can access GitLab. At least, I think that's the requirement. It might be more GitLab-project-specific.

Steps

These instructions assume some common-sense understandings (generally: if a thing has already been done outside of these instructions, you don't need to do it again here).

[2022-10-14] Also, they are probably not entirely up-to-date with the current structure.

Action / Intention Commands Where You End Up
Make sure you're in the right place as the right user.
cd <$HOME>
su <$USER>
<$HOME>
Set up some folders.
mkdir site
cd site
mkdir git
cd git
<$HOME>/site/git
Clone the Ferreteria repository.
git clone git@gitlab.com:woozalia/ferreteria.git
cd ..
<$HOME>/site
Create the site's config folder.
mkdir config
cd config
<$HOME>/site/config
Copy config files from the repository into the config folder, where you can make changes.
cp -R ../git/ferreteria/config ferreteria
cd ..
mkdir dropins
cd dropins
<$HOME>/site/dropins
Link from within the site-wide dropins folder to specific Ferreteria dropins you want to use.
ln -rs ../git/ferreteria/dropins/basics basics
ln -rs ../git/ferreteria/dropins/users users
ln -rs ../git/ferreteria/dropins/wiki wiki

Note that you may rename the folder-links anything you like (e.g. prefixing them with numbers for sorting); all folders in <$HOME>/site/dropins will be checked for valid drop-ins.

TODO: configuration instructions

for standalone

Make a dropins folder under site, and link or copy the folders for all the Ferreteria dropins you want to use into that folder.

for MediaWiki

These instructions need to be rewritten. At present, I'm not putting much work into continuing to support MediaWiki.