Looks like the CMS parser got a little confused. Fixed!mmaroti":x6ftu78v said:The link to Adminer is garbled in the article.
Good eye, sir--fixed. Sometimes cutting and pasting sections of code gets a little messy.Steveysteve":1x9vl1eq said:Just noticed that there appears to be a missing "}" at the end of the /blog/ location block on page two:
location /blog/ {
try_files $uri $uri/ /blog/index.php?$args;
allow 192.168.1.0/24;
allow 127.0.0.1;
deny all;
<------------------------------ should be } here?
location ~ /blog/.*\.php$ {
allow 192.168.1.0/24;
allow 127.0.0.1;
deny all;
try_files $uri =404;
include fastcgi_params;
fastcgi_pass php5-fpm-sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
No, but it can certainly be beaten into shape with great effectiveness. For example, look at this page's HTTP headers.WordPress is great for end users who want to get blogging quickly and want to have more variety in themes and widgets than a hosted blog, like Blogger. Unfortunately, it is prone to security problems, and it's not really designed to be a full-fledged CMS.
David Trest":1hqosb68 said:Back when I used to work for Hostgator, I have seen hundreds upon hundreds of blogs that were owned, compromised and rooted by exploits from poorly-written modules and plugins.
I've also seen many more crash servers from overloading them. People loading 50+ plugins and wondering why it keeps on crashing things.
"Wordpress is an unauthenticated shell that, as a useful side feature, also contains a blog."
Pokrface":30bq1rew said:No, but it can certainly be beaten into shape with great effectiveness. For example, look at this page's HTTP headers.WordPress is great for end users who want to get blogging quickly and want to have more variety in themes and widgets than a hosted blog, like Blogger. Unfortunately, it is prone to security problems, and it's not really designed to be a full-fledged CMS.
KevinM1":2ei1bmf0 said:Pokrface":2ei1bmf0 said:No, but it can certainly be beaten into shape with great effectiveness. For example, look at this page's HTTP headers.WordPress is great for end users who want to get blogging quickly and want to have more variety in themes and widgets than a hosted blog, like Blogger. Unfortunately, it is prone to security problems, and it's not really designed to be a full-fledged CMS.
Has Ars always been on WordPress? Asking out of pure curiosity.
---
I know that as a PHP developer I should learn WP (premium themes seems like a decent way to make some side cash), but every time I actually look at the code under the hood, my eyes cross. It's like wading into the year 2004.
Granite Octopus":1vuny6ph said:KevinM1":1vuny6ph said:Pokrface":1vuny6ph said:No, but it can certainly be beaten into shape with great effectiveness. For example, look at this page's HTTP headers.WordPress is great for end users who want to get blogging quickly and want to have more variety in themes and widgets than a hosted blog, like Blogger. Unfortunately, it is prone to security problems, and it's not really designed to be a full-fledged CMS.
Has Ars always been on WordPress? Asking out of pure curiosity.
---
I know that as a PHP developer I should learn WP (premium themes seems like a decent way to make some side cash), but every time I actually look at the code under the hood, my eyes cross. It's like wading into the year 2004.
I always thought this, but actually being forced to do it in my current job, I say STAY AWAY. The code really is that bad, and I have to deal with the aftermath of hacks and exploits on a weekly basis. Use your time to learn something new and worthwhile like RoR or if you must stick with PHP, http://getsymphony.com
The entire last section of the article is on how to set up Batcache to do just that, using APC as its backing store so you don't have to configure an additional instance of memcached.RGutiarrez":1cq7clpq said:For all of the talk about hardening the system and cautions against running plugins, what about some discussion about page caching?
Pokrface":2lplu6f9 said:The entire last section of the article is on how to set up Batcache to do just that, using APC as its backing store so you don't have to configure an additional instance of memcached.RGutiarrez":2lplu6f9 said:For all of the talk about hardening the system and cautions against running plugins, what about some discussion about page caching?
Bigger caching plugins are highly overrated. If you need the level of performance that W3 Total Cache or WP Super Cache say they deliver, you're better off biting the bullet and setting up varnish. It'll outperform them both, and there's a WP plugin to handle seamlessly purging stale objects.
yokimbo":3ryvid31 said:Great work Lee!
Can you configure aptitude (or others) to auto-update? And, is there a way to auto-update WordPress (and plug-ins)?
If not, I suppose a good alternative could be subscribing to an update emailing list.
KevinM1":3n2ksl26 said:Granite Octopus":3n2ksl26 said:KevinM1":3n2ksl26 said:Pokrface":3n2ksl26 said:No, but it can certainly be beaten into shape with great effectiveness. For example, look at this page's HTTP headers.WordPress is great for end users who want to get blogging quickly and want to have more variety in themes and widgets than a hosted blog, like Blogger. Unfortunately, it is prone to security problems, and it's not really designed to be a full-fledged CMS.
Has Ars always been on WordPress? Asking out of pure curiosity.
---
I know that as a PHP developer I should learn WP (premium themes seems like a decent way to make some side cash), but every time I actually look at the code under the hood, my eyes cross. It's like wading into the year 2004.
I always thought this, but actually being forced to do it in my current job, I say STAY AWAY. The code really is that bad, and I have to deal with the aftermath of hacks and exploits on a weekly basis. Use your time to learn something new and worthwhile like RoR or if you must stick with PHP, http://getsymphony.com
Yeah, I've started to use Symfony for my projects. Aside from inaccurate/misleading docs (which I guess is to be expected from a FOSS framework), it's pretty solid.
I have some books on Ruby and Rails, but haven't had the time to do much more than install RVM (which I guess may not be the ideal solution any longer) and write a Hello World. Oh, and install SASS (which is awesome).
For a single user server hosting a single site, I am. As I'm sure you know (since you obviously know enough to ask!), once applications get tossed into the mix it's not always obvious what files within the web hierarchy need to be written to and which don't; having the whole web root readable and writable to owner & group simplifies that. The fact that the web root is writable by the www-data user doesn't buy an external attacker very much; it becomes a factor during a compromise, though.sporkme":2v6xl2ts said:Lee, are you totally comfortable leaving the entire WP hierarchy writable by the web user?
In general "securing wordpress" is an oxymoronflash__":2z7f8x02 said:The warning about the Wordpress plugins is one I've said myself many times. Be very, very wary of poorly written plugins. There are stories all over the web about servers being compromised because these plugin authors don't know the first thing about writing secure code.
This site is ummm running on Wordpress. Go ahead and hack it supergenius.elh":1zd3lxdx said:In general "securing wordpress" is an oxymoronflash__":1zd3lxdx said:The warning about the Wordpress plugins is one I've said myself many times. Be very, very wary of poorly written plugins. There are stories all over the web about servers being compromised because these plugin authors don't know the first thing about writing secure code.![]()
elkoraco":1ru9hxtv said:yokimbo":1ru9hxtv said:Great work Lee!
Can you configure aptitude (or others) to auto-update? And, is there a way to auto-update WordPress (and plug-ins)?
If not, I suppose a good alternative could be subscribing to an update emailing list.
look for cron-apt for system updates. As the hypothetical user in this article downloaded Wordpress from a third party source, you'd have to run cron weekly with a script to have it auto-update. I don't really understand some of the choices in this series, such as straying from the repositories, which negates all of Umbongo's advantages, but you know...
We're keeping the quantity of non-repo stuff as small as possible; currently, it's limited to the SQL admin tool (and you can use phpmyadmin from a repo if you really, really want to, though that means you're using phpmyadmin) and WordPress itself. Nginx, PHP-FPM, and mariadb all come from repos.GmbH9":2gfco39y said:For a server sitting my home closet, keeping up to date on non-repository, internet-facing software is extremely burdensome. Companies have teams of people responsible for their website, but a single person goes on vacation and forgets to do things. Something like cron-apt is vital for the home server. Also, one doesn't haven't to sign up for too many security update email lists before the email quantity becomes unpleasantly large.
I'm enjoying the series! Keep them coming.
Pokrface":krhx64op said:For a single user server hosting a single site, I am. As I'm sure you know (since you obviously know enough to ask!), once applications get tossed into the mix it's not always obvious what files within the web hierarchy need to be written to and which don't; having the whole web root readable and writable to owner & group simplifies that. The fact that the web root is writable by the www-data user doesn't buy an external attacker very much; it becomes a factor during a compromise, though.sporkme":krhx64op said:Lee, are you totally comfortable leaving the entire WP hierarchy writable by the web user?
Pokrface":krhx64op said:I'd say that the way to go the extra mile here isn't just to remove write permissions except where necessary, but to also go ahead and chroot nginx and php-fpm. Unfortunately, this is an annoying amount of work, both to set up and also to maintain, and it's definitely overkill for a little personal closet server.