Find Jobs
Hire Freelancers

Linux server scripting

$100-500 USD

Dibatalkan
Dibuat sekitar 17 tahun yang lalu

$100-500 USD

Dibayar ketika dikirim
We need a set of scripts for automating the installation and configuration of Linux servers for the hosting of Subversion ([login to view URL]) and Trac ([login to view URL]) services and WebDAV file storage. In addition, we require a set of scripts for managing user accounts on these servers (e.g. create, suspend, reactivate, delete). Each user account will have their own Apache virtual-host which hosts their set of Subversion repositories, associated Trac projects and WebDAV files. End-user administration of these accounts will be via a Ruby-on-Rails web-application, which we will provide (the scripts just need to setup hosting and access to the application) It is expected that this task should not be difficult for someone who is familiar with setting up and scripting Linux servers and Apache. ## Deliverables **Requirements:** * The target platform will be Xen VPS linux servers most likely running CentOS 4.4 or CentOS 5 (unless you can suggest a more appropriate target platform?). * The scripts should be developed using a suitable standard Linux scripting language such as bash or perl (please recommend the language you would like to use) and be well-commented for readability and ease of maintenance. * You will be provided with access to a Wiki where you will document how to use the scripts (e.g. how to setup a new server from a fresh OS install, how to create a new account, etc). **We need the following 5 scripts developed:** **1. Server initial setup script** This script will take a vanilla CentOS installation and configure support for the required services. The expectation is that in order for us to create a fully working server from scratch, all we need to do is create a fresh CentOS server install and run the one setup script. The script will take care of the necessary software installations and configuration file changes accordingly. The script needs to install and setup support for the following software and services: * PHP 5.2.2 (or newer if available) * Subversion 1.4.3 (or newer if available), consisting of * Command line tools (svn, svnadmin, etc) * Web-access using the Apache 'mod_dav_svn' module * Ruby-on-Rails 1.2 web-application support, consisting of * Ruby 1.8.5, RubyGems, Rails, etc * Mongrel_cluster hosting of the Rails application. The mongrel cluster should automatically start at system boot and be accessible via an Apache proxy (using mod_proxy_balancer). See the links in the References section below for more details on how to set this up. * Trac project and issue tracking system (latest stable version) and software required for it to run (e.g. python). We need to be able to support multiple Trac projects hosted via Apache. * Disk quotas must be enabled on user accounts, with per-account limits specifyable. * Apache 2.2 (the latest point version available). As mentioned, the server must be configured to support hosting of multiple domains (e.g. Apache virtual hosts). Each user account will have a corresponding virtual domain for web access to their services, and must support the following features: * Multiple Subversion repositories (using mod_dav_svn) * Multiple Trac projects (normally one for each subversion repository) * WebDAV virtual disk space (using mod_dav?) * Total bandwidth limited to specified maximum total megabytes per month * Virtual domains should be accessible via SSL only * Attempts to access the domain via a non-SSL link should automatically redirect to the SSL equivalent * Apache authentication to control access to various functions ( e.g. svn, trac, webdav, etc) with a htpasswd file for each user account. * mod_rewrite - To rewrite URL paths * mod_deflate - To reduce network traffic * The "admin/" URL of each virtual domain should proxy through to the mongrel_cluster to allow user access to the rails administration application ( e.g. mod_proxy_balancer). **2. Create account script** This script should create a new user account for a given username and virtual domain name, and also create the apache configuration files necessary to support the functionality described in script 1 above (Note: the user accounts should NOT support shell access). The initial files for the account should come from a skeleton directory, in a format necessary to support the services described above. The directory layout should be in a format that makes it easy to create a .[login to view URL] backup of all the svn, trac, user-authentication and configuration data required to restore the account should corruption occur. We are open to suggestions on how to best structure the user-account directories, however am thinking of something along the following lines: /home/myuser/data/ - a top level directory that can be easily backed up /home/myuser/data/svn/ - containing subversion repository directories, for example: /home/myuser/data/svn/repos1/ /home/myuser/data/svn/repos2/ /home/myuser/data/svn/repos3/ etc ... /home/myuser/data/trac/ - directory containing trac project directories, for example: /home/myuser/data/trac/project1/ /home/myuser/data/trac/project2/ /home/myuser/data/trac/project3/ etc ... /home/myuser/www/ - a separate directory for the web-root. This example account setup should map through to the following URLs: [login to view URL] - the subversion repositories... [login to view URL] [login to view URL] ... [login to view URL] - the trac projects... [login to view URL] [login to view URL] ... [login to view URL] - the Rails administration application (i.e. the mongrel_cluster proxy) **3. Suspend account script** Disable a specified user account. When disabled, attempts to access any web URL belonging to the accounts virtual host should redirect to a standard "service disabled, contact administrator" HTML page that we will supply. **4. Re-activate account script** Re-activates a previously disabled user account. Removes web redirection and restores full functionality. **5. Terminate account script** Delete a specified user account and all its corresponding data and configuration files. **Useful References:** Subversion - [login to view URL] Trac - [login to view URL] Ruby on Rails - [login to view URL] Mongrel - [login to view URL] [login to view URL] [login to view URL] **Conditions on deliverables:** 1) Complete and fully-functional working scripts in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform Linux CentOS 5 servers.
ID Proyek: 2966602

Tentang proyek

3 proposal
Proyek remot
Aktif 17 tahun yang lalu

Ingin menghasilkan uang?

Keuntungan menawar di Freelancer

Tentukan anggaran dan garis waktu Anda
Dapatkan bayaran atas pekerjaan Anda
Uraikan proposal Anda
Gratis mendaftar dan menawar pekerjaan
3 freelancer menawar dengan rata-rata $1.762 USD untuk pekerjaan ini
Avatar Pengguna
See private message.
$4.250 USD dalam 7 hari
5,0 (409 ulasan)
7,0
7,0
Avatar Pengguna
See private message.
$357 USD dalam 7 hari
4,7 (61 ulasan)
4,4
4,4
Avatar Pengguna
See private message.
$680 USD dalam 7 hari
0,0 (0 ulasan)
0,0
0,0

Tentang klien

Bendera INDONESIA
Maida Vale, Indonesia
0,0
0
Anggota sejak Jan 25, 2005

Verifikasi Klien

Terima kasih! Kami telah mengirim Anda email untuk mengklaim kredit gratis Anda.
Anda sesuatu yang salah saat mengirimkan Anda email. Silakan coba lagi.
Pengguna Terdaftar Total Pekerjaan Terpasang
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Memuat pratinjau
Izin diberikan untuk Geolokasi.
Sesi login Anda telah kedaluwarsa dan Anda sudah keluar. Silakan login kembali.