1Pinto::Manual::InstalliUnsge(r3)Contributed Perl DocumenPtianttioo:n:Manual::Installing(3)
2
3
4

NAME

6       Pinto::Manual::Installing - Tips for installing Pinto
7

VERSION

9       version 0.14
10

SYNOPSIS

12       For the impatient...
13
14         curl -L http://getpinto.stratopan.com | bash
15         source ~/opt/local/pinto/etc/bashrc
16
17       And then possibly...
18
19         echo source ~/opt/local/pinto/etc/bashrc >> ~/.bashrc
20

APPLICATION VERSUS LIBRARY VERSUS SERVER

22       For most situations, Pinto is more like an application than a library.
23       It is a tool that you use to develop and manage your code, but Pinto
24       itself is not part of your code.  Pinto also has a lot of dependencies,
25       some of which may conflict with or complicate your code.
26
27       Pinto can also serve as the backend supporting a daemonized Starman
28       server exposed to the wilds of the internet.  Doing so opens the door
29       to many additional security concerns.  We suggest below some practices
30       we hope will serve to minimize the risks of doing so.
31

INSTALLING AS AN APPLICATION

33       For the reasons above, I recommend installing Pinto as a stand-alone
34       application in its own sandbox.  That way, it doesn't pollute your
35       environment with its dependencies.  Nor will you pollute Pinto with
36       changes to your environment, so Pinto will function even when your
37       other environment dependencies are broken. And hopefully, you can use
38       Pinto to help fix whatever broke!
39
40   Step 1: Run the pinto installer script
41       The installer script at <http://getpinto.stratopan.com> is mostly just
42       a wrapper around cpanm, which installs pinto in a self-contained
43       directory:
44
45          # If you use curl...
46          curl -L http://getpinto.stratopan.com | bash
47
48          # If you use wget...
49          wget -O - http://getpinto.stratopan.com | bash
50
51       All the dependent modules will come from a curated repository on
52       Stratopan <http://stratopan.com>.  These aren't always the latest
53       versions of things, but they are versions that I know will work.
54
55   Step 2: Set up the pinto environment
56       The pinto installer generates a setup script for you.  By default, it
57       is located at ~/opt/local/pinto/etc/bashrc.  To load that setup into
58       your current shell, just give this command:
59
60         source ~/opt/local/pinto/etc/bashrc
61
62       To make these settings part of your everyday shell environment, just
63       add that last command to your ~/.profile or ~/.bashrc or whatever setup
64       file is appropriate for your shell.
65
66       If you wish to customize any of the other environment variables that
67       pinto uses, you can place those commands in ~/.pintorc.  If that file
68       exists, the setup script will source them as well.  See pinto for a
69       list of the relevant environment variables.
70

INSTALLING AS A SERVER

72       If you will be running the pintod daemon exposed to the internet, it is
73       suggested that you assume root privileges and proceed as follows:
74
75       (1) create a pinto user like so:
76
77           adduser --system --home /opt/local/pinto --shell /bin/false \
78               --disabled-login --group pinto
79
80       (2) set some environmental variables:
81
82           export PINTO_HOME=/opt/local/pinto
83           export PINTO_REPOSITORY_ROOT=/var/pinto
84
85       check that the exports took with `env`.
86
87       (3) run the installer as described above, and source the environmental
88       variables to facilitate the steps of setting up the repository.
89
90       (4) choose an authentication backend and install it like so:
91
92           cpanm -L $PINTO_HOME Authen::Simple::Kerberos
93
94       to review your options see Authen::Simple.
95
96       (5) choose an appropriate startup script and install it:
97
98           cp $PINTO_HOME/etc/init.d/pintod.debian /etc/init.d/pintod
99
100           update-rc.d pintod start 50 2 3 4 5 . stop 20 0 1 6 .
101
102   AN IMPORTANT NOTE ABOUT SECURITY
103       Currently daemonizing the pintod server will run the starman workers as
104       root.  We hope to soon have the pintod daemon drop its privileges after
105       initiating the master and before spawning the workers, so that the
106       workers will run as the pinto user.  Until that feature is in place,
107       pinto repository administrators are urged to keep their installations
108       safely behind firewalls, protected from the potentially hostile user.
109

INSTALLING AS A LIBRARY

111       If you're going to be hacking on Pinto itself, or want to try building
112       on the API directly, then you can install Pinto straight into your
113       development environment, just like you would do for any other module.
114
115       Just beware that Pinto has lots of dependencies.  And if you
116       subsequently upgrade any of those dependencies to something that breaks
117       Pinto, then you might find yourself in a pickle.  The whole point of
118       Pinto is to help you manage your dependencies, so if you break Pinto,
119       it won't be able to help you.
120

OTHER INSTALLATION OPTIONS

122       Naturally, installation procedures will vary from one environment to
123       another.  If this procedure doesn't work for you, or if you'd like to
124       suggest a procedure for a different environment (e.g. Windows,
125       Perlbrew, Strawberry Perl, etc.), then please contact me.  Your
126       contributions would be greatly appreciated.
127

SEE ALSO

129       Pinto::Manual::QuickStart
130
131       Pinto::Manual::Tutorial
132
133       Pinto (the library)
134
135       pinto (the command)
136

AUTHOR

138       Jeffrey Ryan Thalhammer <jeff@stratopan.com>
139
141       This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
142
143       This is free software; you can redistribute it and/or modify it under
144       the same terms as the Perl 5 programming language system itself.
145
146
147
148perl v5.38.0                      2023-07-21      Pinto::Manual::Installing(3)
Impressum