Ferreteria/install: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(Created page with "* Clone the [https://gitlab.com/woozalia/ferreteria/tree/v2 Ferreteria Git repository] <ref name=branch /> into a folder of your choice, which we'll call <code>[ferreteria bas...")
 
No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* Clone the [https://gitlab.com/woozalia/ferreteria/tree/v2 Ferreteria Git repository] <ref name=branch /> into a folder of your choice, which we'll call <code>[ferreteria base]</code>.
==Summary==
* Copy the <code>[ferreteria base]/config</code> folder to a location outside of <code>[ferreteria base]</code>.
* Clone the [https://gitlab.com/woozalia/ferreteria Ferreteria Git repository] into a folder of your choice, which we'll call {{arg|ferreteria base}}.
** We'll call this new location <code>[local config]</code>.
** My [[Conventions/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/git/ferreteria/</code>.
** My standard location for this is <code>/home/<user>/site/config/ferreteria</code>
* Make a "config" folder outside of the repository.
* Optional: Modify each file to match your local environment, according to instructions in each file.
** My [[Conventions/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/config/ferreteria</code>
** There's currently only one file, <code>const.php</code>, and it normally won't need modifying.
* Inside this folder:
==Footnotes==
** Link from the <code>{{arg|ferreteria git folder}}/config/portable</code> folder so it appears here.
<references>
*** {{hilite|TODO}}: add this to detailed instructions:
<ref name=branch>We're currently using the <code>v2</code> branch; this should probably become the <code>master</code> branch, once I figure out how. The v3 branch probably needs to be started over again.</ref>
**** From inside the "portable" folder: <code>ln -rs ../../git/ferreteria/config/portable/ portable</code>
</references>
** 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===
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===
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.
{| class=wikitable
|-
! Action / Intention !! Commands !! Where You End Up
|-
| colspan=3 | Make sure you're in the right place as the right user.
|-
| ||
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===
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===
These instructions need to be rewritten. At present, I'm not putting much work into continuing to support MediaWiki.

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.