Ferreteria/install: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(revised format; updated reference link)
Line 1: Line 1:
==Summary==
* Clone the [https://gitlab.com/woozalia/ferreteria Ferreteria Git repository] into a folder of your choice, which we'll call {{arg|ferreteria base}}.
* Clone the [https://gitlab.com/woozalia/ferreteria Ferreteria Git repository] into a folder of your choice, which we'll call {{arg|ferreteria base}}.
** My [[User:Woozle/setups/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/git/ferreteria/</code>.
** My [[User:Woozle/setups/vdomain|standard location]] for this is <code>/home/{{arg|user}}/site/git/ferreteria/</code>.
Line 6: Line 7:
* Optional: Modify each file to match your local environment, according to instructions in each file.
* Optional: Modify each file to match your local environment, according to instructions in each file.
** There's currently only one file, <code>const.php</code>, and it normally won't need modifying.
** There's currently only one file, <code>const.php</code>, and it normally won't need modifying.
==Woozle's setup==
==Details==
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):
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 [[wooz: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}}
{| border=1
* su {{arg|$USER}}
|-
* [[mkdir]] site
! Action / Intention !! Commands !! Where You End Up
* cd site
|-
* mkdir git
| colspan=3 | Make sure you're in the right place as the right user.
* cd git
|-
* [[git clone]] git@gitlab.com:woozalia/ferreteria.git
| ||
* cd ..
cd {{arg|$HOME}}
* mkdir config
su {{arg|$USER}}
* cd config
| {{arg|$HOME}}
* cp -R ../git/ferreteria/config ferreteria
|-
* cd ..
| colspan=3 | Set up some folders.
* mkdir dropins
|-
* cd dropins
| ||
* ln -rs ../git/ferreteria/dropins/basics basics
[[mkdir]] site
* ln -rs ../git/ferreteria/dropins/users users
cd site
* ln -rs ../git/ferreteria/dropins/wiki wiki
mkdir git
You may rename the folder-links anything you like (e.g. prefixing them with numbers for sorting); all folders in <code>dropins</code> will be checked for valid drop-ins.
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>:
Where <code>$kfpSiteRoot</code> is the server user's folder, and ferreteria's repo is in <code>$kfpSiteRoot/git/ferreteria/</code>:
<source lang=php>$kfpConfigFerreteria = $kfpSiteRoot.'/site/config/ferreteria';
{{fmt/php|$kfpConfigFerreteria = $kfpSiteRoot.'/site/config/ferreteria';
require_once($kfpSiteRoot.'/site/git/ferreteria/start.php');
require_once($kfpSiteRoot.'/site/git/ferreteria/start.php');
ferreteria\classloader\cLoader::LoadLibrary('ferreteria.mw.core');
ferreteria\classloader\cLoader::LoadLibrary('ferreteria.mw.core');
</source>
}}

Revision as of 15:08, 11 November 2021

Summary

  • Clone the Ferreteria Git repository into a folder of your choice, which we'll call <ferreteria base>.
  • Copy the <ferreteria base>/config folder to a location outside of [ferreteria base].
    • We'll call this new location <local config>.
    • My standard location for this is /home/<user>/site/config/ferreteria
  • Optional: Modify each file to match your local environment, according to instructions in each file.
    • There's currently only one file, const.php, and it normally won't need modifying.

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 wooz: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).

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

Where $kfpSiteRoot is the server user's folder, and ferreteria's repo is in $kfpSiteRoot/git/ferreteria/: Template:Fmt/php