diff options
Diffstat (limited to 'web/README.txt')
-rw-r--r-- | web/README.txt | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/web/README.txt b/web/README.txt deleted file mode 100644 index 249f6052..00000000 --- a/web/README.txt +++ /dev/null @@ -1,166 +0,0 @@ -Setup on Arch Linux: -==================== -1) Install Apache, MySQL, PHP, and git - # pacman -Sy apache mysql php git - -2) Set a local 'hostname' of 'aur' - - Edit /etc/hosts and append 'aur' to loopback address - 127.0.0.1 localhost aur - -3) Configure Apache - - - Edit /etc/httpd/conf/httpd.conf and make sure that PHP - support is enabled by uncommenting the LoadModule line - that specifies the PHP module. - - - Also append the following snippet to enable the aur - Virtual Host (Replace MYUSER with your username). - - <VirtualHost aur:80> - Servername aur - DocumentRoot /home/MYUSER/aur/web/html - ErrorLog /var/log/httpd/aur-error.log - CustomLog /var/log/httpd/aur-access.log combined - <Directory /home/MYUSER/aur/web/html> - Options Indexes FollowSymLinks - AllowOverride All - </Directory> - </VirtualHost> - -4) Clone the AUR project (using the MYUSER from above) - $ cd - $ git clone http://projects.archlinux.org/git/aur.git - -5) Configure PHP - Make sure you have mysql and json enabled in PHP. - - - Edit php.ini and uncomment/add these lines: - extension=mysql.so - extension=json.so - - AUR requires PEAR and the File_Find module. - Installing PEAR will vary depending on the system and may already - be included with PHP. You can also find it in the PHP source distribution. - - PHP sources: http://www.php.net/downloads.php - File_Find PEAR module: http://pear.php.net/package/File_Find - - - Install the File_Find PEAR package: - # pear install File_Find - - - Put PEAR in your php include_path in web/html/.htaccess: - - php value include_path = ".:../lib:../lang:/usr/share/pear" - - PEAR's path may vary depending on your set up. - -6) Configure MySQL - - Connect to the mysql client - # mysql -uroot - - - Issue the following commands to the mysql client - mysql> CREATE DATABASE AUR; - mysql> GRANT ALL PRIVILEGES ON AUR.* to aur@localhost - > identified by 'aur'; - mysql> FLUSH PRIVILEGES; - mysql> quit - - - Load the schema file - # mysql -uaur -p AUR < ~/aur/support/schema/aur-schema.sql - (give password 'aur' at the prompt) - - - Optionally load some test data for development purposes. - # bzcat ~/aur/support/schema/dummy-data.sql.bz2 | mysql -uaur -p AUR - (give password 'aur' at the prompt) - -7) Copy the config.inc.proto file to config.inc. Modify as needed. - cd ~/aur/web/lib/ - cp config.inc.profo config.inc - -8) Point your browser to http://aur - - -Web Interface: -============== - -Directory Layout: ------------------ -./html - DocumentRoot for AUR, where the PHP scripts live. -./html/css - CSS stylesheets -./html/images - Any AUR images live here. -./lib - Supporting PHP include files. Access denied to Apache. -./template - Where most of the html markup resides and minimal - amount of PHP scripting. - - There is also a template to model the site's top pages in - template.phps - - -Scripts: --------- -- lib/aur.inc - This is where we can stick functions that can be shared - between the various scripts. Also a good place to put the - MySQL authentication variables since it should live outside - the DocumentRoot. - -- html/login.php (probably index.php) - PHP script to handle logging users into the AUR web site. It - authenticates using the email address and a password against - the Users table. Once authenticated, a session id is generated - and stored in the Sessions table and sent as a cookie to the - user's browser. - -- html/logout.php - PHP script to logout. It clears the session id from the - Sessions table and unsets the cookie. - -- html/account.php - PHP script to handle registering for a new account. It prompts - the visitor for account information: Email, password, real name, - irc nick. The info is recorded in the Users table. Perhaps later, - we can add a preferences field that allows the user to request to - be notified when new packages are submitted so that they can cast - votes for them? - - If a TU is logged into the system, they can edit accounts and set - the account type (regular user or TU). If a Dev is logged in, they - can also set the account type to Dev. TUs and Devs are able to - delete accounts. If an account is deleted, all "Unsupported" - packages are orphaned (the MaintainerUID field in the Packages - table is set to Null). - -- html/packages.php - PHP script to search the package database. It should support - searching by location ("unsupported", "community", "extra"), name, - category, maintainer, popularity, etc. It should resemble the - packages.php script on archlinux.org. A checkbox should be - included next to each package to allow users to flag a package - out of date, adopt it, and vote for it (and reverse operations). - -- html/pkgsubmit.php - This is the PHP script that allows users to upload a new package. - The package format will be a tgz containing the PKGBUILD, - scriptlets, and patches necessary to build the package from - source. Initially, the user submitting the package can select - its category (network, devel, etc) but that can be modified - later by the adopting TU. The script makes appropriate entries - into the database (and perhaps notifies interested users of the - new package). - - -Terms and Definitions: -====================== -AUR - Arch Linux User-Community Repository - Includes: - - the AUR web site, - - the [unsupported] 'repository' - - the [community] repository managed by the TUs - -TU - Trusted User - A user that can add binary packages to the [community] - repository and administer AUR. - -[unsupported] - The collection of package build files hosted via the AUR web site. - |