import repository from arizona
[raven.git] / webpage / repositorysetup.html
1 <html>
2 <head>
3 <title> Stork Project </title>
4 <LINK href="stork.css" rel="stylesheet" type="text/css">
5
6 </head>
7
8 <body>
9
10 <div style="position: relative; top: 15px;" class="display" align="center">
11         <table border="0">
12         <tr>
13                 <td width="170" valign="top">
14
15                                 <br/>
16                                 <table cellpadding="3" width="170" id="links" class="links">
17                                         <tr>
18                                                 <td align="right">
19
20                                                         <ul class="links">
21
22                                                                 <a href = "index.html"><h3>Stork</h3></a>
23                                                                 <li class="links"><a href="storkutil.html">Stork Utilities Runthrough</a></li>
24                                                                 <li class="links"><a href="storkclient.html">Using Stork Client</a></li>
25                                                                 <li class="links"><a href="arch.html">The Stork Architecture</a></li>
26                                                                 <li class="links"><a href="filelist.html">Stork File List</a></li>
27                                                                 <li class="links"><a href="about.html">About Us</a></li>
28                                                                 <li class="links"><a href="http://appmanager.berkeley.intel-research.net/plcontrol/apps.php?appid=1029">
29                                                                 PlanetLab Slice Status</a></li>
30                                                                 <li class="links"><a href="http://nr06.cs.arizona.edu/testphp/upload.php?">Stork Repository
31                                                                 </a></li>
32                                                                 <br><p><li class="links"><a href="http://www.arizona.edu">University of Arizona</a></li>
33                                                                 <li class="links"><a href="http://www.planet-lab.org">PlanetLab</a></li>
34
35
36                                                         </ul>
37
38                                                  </td>
39                                         </tr>
40                                 </table>
41                                 <br/>
42                 </td>
43
44                 <td valign="top">
45
46                 <table class="info" cellpadding="0" width="700" >
47                 <tr  height="75"><td colspan="3"><img style="margin-left: -0px;" src="images/stork-header.png" alt="stork logo"/></td></tr>
48                 <tr  bgcolor="#444444" class="headerrow" width="100%" height="2">
49
50                         <th colspan="2"> Setting up a Stork Repository  </th>
51
52                 </tr>
53                 <tr valign="top" align="left">
54
55                         <td>
56                                 <table cellpadding="8" id="content" class="content">
57
58                                         <tr>
59                                                 <td>
60                                                         <h1>Setting up a Repository</h1>
61                                                         <h2>Steps:</h2>
62                                                         <ol>
63                                                                 <li><a href="#install">Download and Install Repository RPM</a>
64                                                                 <li><a href="#move">Relocate from default install location (optional)</a>
65                                                                 <li><a href="#layout">Understand the Repository directory layout</a>
66                                                                 <li><a href="#understand">Understand the Repository Utility programs</a>
67                                                                 <li><a href="#apache">Configure Apache</a>
68                                                                 <li><a href="#cron">Configure repository cron jobs</a>
69                                                         </ol>
70
71
72                                                         <a name="install"><h3>Download and Install Repository RPM</h3></a>
73                                                         <p>The repository is powered by Apache, PHP, and Bittorrent. You will need some form of Apache installed on your system, preferably Apache 2, PHP 4 or better, and Bittorrent. If you do not have any of these the rpms are linked to below. After you install these requirements download and install the stork repository rpm.
74
75                                                                 <blockquote>
76                                                         <p>TODO: Is PyXML required also?</blockquote>
77
78                                                                 <ul>
79                                                                         <li><a href="https://quiver.cs.arizona.edu/packages/PlanetLab/V4/Distribution/be93195e1c38ca44ae1642d1b6d61e86b9e0ee4a/httpd-2.0.54-10.i386.rpm">httpd-2.0.54-10.i386.rpm</a>
80                                                                         <li><a href="https://nr06.cs.arizona.edu/packages/PlanetLab/V4/Distribution/64ca5065b24547fa41d9567a02982a0b8ae98390/php-5.0.4-10.i386.rpm">php-5.0.4-10.i386.rpm</a>
81                                                                         <li><a href="http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc5/i386/RPMS.dries/bittorrent-4.4.0-1.fc5.rf.noarch.rpm">bittorrent-4.4.0-1.fc5.rf.noarch.rpm</a>
82                                                                         <li><a href="downloads/stork-repository-2-8.386.rpm">stork-repository-2-8.386.rpm</a>
83                                                                 </ul>
84                                                         </p>
85
86                                                         <a name="move"><h3>Relocate from default install location (optional)</h3></a>
87                                                         <p>
88                                                                 By default the stork repository installs the repository in /repository. If you would
89                                                                 like the repository to be in a different location then simply do a 'mv' on that folder
90                                                                 to wherever you would like it. Once you move it you will have to edit httpd.conf to
91                                                                 specify the new HTTP ROOT location to point to the directory you moved /repository
92                                                                 to. Also, {install}/stork/global_conf.php will need to be edited to reflect the new
93                                                                 location. In this file simply change the $HTTP_SERVER_ROOT variable to point to the
94                                                                 new path you moved the repository to.
95                                                         </p>
96
97                                                         <a name="layout"><h3>Understand the Repository directory layout</h3></a>
98                                                         <p>
99                                                                 Under the /repository there are several different directories that make up the structure
100                                                                 of the repository. They are listed below along with their descriptions:
101                                                                 <ul>
102                                                                         <li>info</li>
103                                                                         <ul><li>Logs and other information about users who upload things to the repository are stored under this directory. This directory should <b>not</b> be accessible via http</li></ul>
104                                                                         <li>keys</li>
105                                                                         <ul><li>This is where you should place the private key you wish PsEPR to use. By default nothing will be in this directory after the install</li></ul>
106                                                                         <li>metadata</li>
107                                                                         <ul><li>Contains the metadata that is associated with each package that is uploaded to the repository</li></ul>
108                                                                         <li>packageinfo</li>
109                                                                         <ul><li>This directory contains the "metafile". The metafile is the main file the nest downloads to determine which out of date files it needs to update. The metafile is simply a file that contains hashes of all the other files in the packageinfo directory. </li>
110                                                                         <li>The other files in this directory are bzipped archives of the metadata directories</li></ul
111                                                                         <li>packages</li>
112                                                                         <ul><li>Contains the actual packages that the nests will download. By default this directory will be empty. However, you <b>MUST</b> create three levels of subdirectories under this location. Ex: <code>mkdir -p /repository/packages/PlanetLab/V3/Testing</code></li>
113                                                                         <li>This directory structure is will determine the options the user has when he/she uploads a package. For an example see the <a href="#TODO-putlinkhere">Stork Repository</a> page</li></ul>
114
115
116
117
118
119
120                                                                                                                 </ul>
121                             <p>Other repository notes:</p>\r
122                             <blockquote>\r
123                               <p>TODO: confirm and explain these in detail</p>\r
124                             </blockquote>\r
125                             <ul>\r
126                               <li>edit /etc/php.ini and change post_max_size and \r
127                               upload_max_size to 1024M</li>\r
128                               <li>edit /repsotory/stork/global_config.php and \r
129                               set appropriate values (REPURL, etc)</li>\r
130                               <li>make package directories<ul>\r
131                                 <li>mkdir /repository/packages/PlanetLab</li>\r
132                                 <li>mkdir /repository/packages/PlanetLab/V3</li>\r
133                                 <li>mkdir /repository/packages/PlanetLab/V3/Testing</li>\r
134                                 <li>...</li>\r
135                               </ul>\r
136                               </li>\r
137                               <li>add to root crontab:<ul>\r
138                               <li># create the index file for the repository</li>
139                               <li>*/10 * * * * find /repository/packages 
140                               /repository/user-upload &gt; /repository/rep_index</li>
141                             </ul>\r
142                                                                         \r
143 \r
144 \r
145                                                         \r
146 \r
147 \r
148                                                                                                                 </li>
149                               <li>setup /repository/stork-install for non-nest 
150                               initscripts<ul>\r
151                               <li>mkdir /repository/stork-install</li>
152                               <li>chmod g+w /repository/stork-install</li>
153                               <li>chgrp repadmins /repository/stork-install</li>
154                               <li>use push-nonnest-stork script in push 
155                               subdirectory</li>
156                             </ul>\r
157                                                                         \r
158 \r
159 \r
160                                                         \r
161 \r
162 \r
163                                                                                                                 </li>
164                               <li>add private key to /repository/keys<ul>\r
165                               <li>usually the file is called 
166                               'StorkRepository_nr06.privatekey'</li>
167                             </ul>\r
168                                                                         \r
169 \r
170 \r
171                                                         \r
172 \r
173 \r
174                                                                                                                 </li>
175                               <li>chown -R apache /repository</li>
176                               <li>&nbsp;</li>\r
177                             </ul>\r
178                                                                         \r
179 \r
180 \r
181                                                         \r
182 \r
183 \r
184                                                                                                                 <p>&nbsp;</p>
185
186
187
188
189
190
191                                                                                                                 <center><a href = "index.html">Home</a>     <a href = "#top">Top</a></center>
192                                                 </td>
193
194                                         </tr>
195                                 </table>
196                         </td>
197                 </tr>
198
199        </table>
200        </td>
201
202      </tr>
203      <tr>
204         <td></td>
205
206         <td>
207                 <a href="http://www.planet-lab.org"><img style="border: 0px; border-style: none;" src="images/powered_by_pl_grey.png" alt="powered by planetlab"></a>
208
209                 <a href="http://www.cs.arizona.edu"><img style="position:relative; left: 20px; border: 0px; border-style: none;" src="images/template_logo_small_grey.png" alt="University of Arizona, Computer Science logo"></a>
210         </td>
211      </tr>
212
213 </table>
214
215 </div>
216
217
218 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
219     </script>
220 <script type="text/javascript">
221 _uacct = "UA-1868232-1";
222 urchinTracker();
223     </script>
224 </body>
225 </html>