Welcome Guest, Not a member yet? Register   Sign In
What are you guys using for deployment?
#1

[eluser]cbmeeks[/eluser]
To increase security, I've removed root login from SSH, changed the SSH port, etc.

But now, it's become annoying trying to transfer files from my local dev server to production.

I have to sftp to a non-root account. ssh in. su to root. and "mv" files to the right folder.

Any better solutions?

Thanks
#2

[eluser]Pascal Kriete[/eluser]
Making this a little too complicated?

Limiting root access is always good. As long as you're using an encrypted connection (be it ssh or sftp) you're in pretty good shape. Moving the port only stops automated attacks, anyone can quickly scan your ports to figure out which are connected to running services.

Most webservers are more vulnerable to the public side. Apache should be running as it's own user in a chrooted jail, and your webroot should only contain the bare minimum files.

I have to deal with linux servers frequently, but it's almost never web related, so I put my trust in the people who do that for a living. The developer should be responsible for the application, and the host for the server. My $0.02.
#3

[eluser]cbmeeks[/eluser]
Well, it is too complicated. That's why I am seeking better deployment tools and suggestions. :-)

I use Slicehost so the burden is with me on the security...at least for a while.

What I am looking for is an easier way to deploy updates to my code base. I might look into SVN or GIT. But I was wondering what fellow CI users were doing.

Thanks
#4

[eluser]Aea[/eluser]
I use three tools for remote development.

Transmit (FTP Client), Dreamweaver (Editor), Terminal for SSH

Can find the files I want using Transmit, select edit with Dreamweaver. Saving will auto-upload them, picks up every time (i.e. I don't have to reconnect to FTP every time). Use SVN (Using Terminal + Visor [Tool so I can open terminal with a key combination]) server-side.

Alternatively I heard that a program like coda allows you to combine all that into one program, it's from the makers of Transmit.
#5

[eluser]usmc[/eluser]
I have used capistrano for the last year combined with SVN for version control.

Here is a great article outlining one scenario
Capistrano - Simplistic Complexity
#6

[eluser]Pascal Kriete[/eluser]
Never thought about using capistrano for php, but now that I have a host that supports rails... sweetness. Made my day Smile .
#7

[eluser]cbmeeks[/eluser]
I will look into Capistrano. It was just getting too annoying to manually mv files around with ssh/mv :-)

Thanks for the tips.
#8

[eluser]madmaxx[/eluser]
I use two approaches for deployment, depending on how critical (or complex) the site is.

Mode 1: rsync/ssh. It's fast, and makes it easy to mirror local directories to the server. The only disadvantage is that it's not atomic, which can leave your site out of sync for a few seconds. I use this method for my personal blogs, as it's quick and easy.

Mode 2: ssh/svn + scripts. Not as fast, but allows you to turn off your running site (I replace mine with a static "hold-your-clicks" page), allows you to run db updates, and works from your subversion branches. I use this method for busy sites, or sites that often require database upgrades.

Security note: ssh is probably the best secured path to your server, just be sure to use strong passwords when generating your keys, and use sudo on the webserver instead of shared root access (which allows some amount of auditing).
#9

[eluser]Daniel Eriksson[/eluser]
I use Subversion for both versioning and deployment. I develop in /trunk and when I have something that works I branch (or tag) it and then I do a "svn sw URL_to_new_branch" on the live server.

Apart from the live server I usually run a local XAMPP server for instant testing and a "staging" server (beta.somedomain.com) for testing on the real box against the live database before switching the live server over to the new code.




Theme © iAndrew 2016 - Forum software by © MyBB