After a fresh installation of nginx 1.4.7 on Fedora 20 I added two additional locations to the the default location:  user  neradis; # I also tried the 'root' user here and commenting this directive out, to no avail worker_processes  1;  [...] http {  include       /etc/nginx/mime.types;     default_type  application/octet-stream;  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                   '$status $body_bytes_sent "$http_referer" '                   '"$http_user_agent" "$http_x_forwarded_for"';  access_log  /var/log/nginx/access.log  main;  sendfile        on;  [...]  index   index.html index.htm;  server {     listen       80;     server_name  localhost;     root         /usr/share/nginx/html; autoindex    on;      location /music/ {         root    /home/neradis/audio;     autoindex    on;      }  location /nginx_test/ {         root /;       autoindex on; }       error_page  404              /404.html;     location = /40x.html {     }      error_page   500 502 503 504  /50x.html;     location = /50x.html {     } } }   nginx serves files from the default location /usr/share/nginx/html without problem, but yields errors denied permissions for filesystem operations (open(), opendir()) for the added locations. I am aware that every parent directory must the 'executable' for the user used by nginx, so I ensured that using namei -l:  f: /nginx_test/file.txt drwxr-xr-x root    root    / drwxrwxrwx neradis neradis nginx_test -rwxrwxrwx neradis neradis file.txt   Nonetheless, I still get a 403 response on a wget localhost/nginx_test/file.txt, finding this error in the logs:  [error] 6950#0: *1 open() "/nginx_test/file.txt" failed (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET /nginx_test/file.txt HTTP/1.1", host: "localhost"   I get the same errors for the /home/neradis/audio/music. I am puzzled what the crucial difference to the working functioning default root /usr/share/nginx/html is:  f: /usr/share/nginx/html/index.html drwxr-xr-x root root / drwxr-xr-x root root usr drwxr-xr-x root root share drwxr-xr-x root root nginx drwxr-xr-x root root html -rw-r-xr-x root root index.html   Any ideas what else might keep nginx from accessing the files?  edit (solution): The comments guided me in the right direction. The file permissions we're okay, but SELinux prevented reading the files in the new locations, as they had (SELinux) types of default_t and user_home_t, that we're forbidden for the httpd_t. I wrote my own selinux module to allow for default_t files and enabled access for the home files with setsebool -P http_read_user_content.
I'm having a problem setting up a vhost on Apache 2.4, using CentOS 6.3.  This question seems to have been answered several times on this forum, but none of the solutions work for me.  Basically, I set up a vhost with a particular document root. When I attempt to access the site, I get a permissions error. But I have no problem if I use a different root.  More specifically, if I set the root to be /volume1/web/xxx, I get a 503 because of a permission problem on index.html.  But if I set it to be /volume1/web, the index.html comes up without a problem.  The details:   I set the persmissions on volume1, web, and xxx to 755. I set the permissions on the index.html files to 777. I copy the index.html file to both /volume1/web and /volume1/web/xxx, so that they have identical index files with identical permissions.   In httpd.conf, I set the VirtualHost options so that I can easily switch the document root by changing 2 comment marks  I have the following lines in the conf file:  NameVirtualHost *:80  &lt;VirtualHost *:80&gt;     ServerName localhost     #DocumentRoot /volume1/web     DocumentRoot /volume1/web/xxx      #&lt;Directory /volume1/web&gt;     &lt;Directory /volume1/web/xxx&gt;       Options Indexes FollowSymLinks Includes ExecCGI       AllowOverride All       Order Allow,Deny       Allow from all     &lt;/Directory&gt;      ErrorLog logs/localhost-error_log     CustomLog logs/localhost-access_log common &lt;/VirtualHost&gt;   These lines contain all the suggestions that worked for other people with the same problem.  What I get when I enter localhost in my browser depends on the document root.   If the root is /volume1/web, the index.html page comes up. if the root is /volume1/web/xxx, then I get a 503 error, and the apache error log has this line:  [Thu Jul 19 17:17:52 2012] [error] [client ::1] (13)Permission denied: access to /index.html denied   I also tried adding an index.php file to the directory. I then got permission denied messages for both the php file and the html file.  I also tried setting the user : group to apache : apache on the directories and files. That didn't help.  I've done everything I can think of to fix the permissions, to no avail.  Does anyone have an idea about what's happening here?  Thanks.
Formatting OGR VRT file to convert CSV to KML? I am attempting to get a nice KML for simple review of POI/geocoding from a CSV. I a using ogr2ogr and a VRT. You can see the VRT file below, with two attempts to get this right.  Basically, the issue is using ogr2ogr -f KML ... with the VRT w/o renaming results in a lot of "SimpleData" tags in the KML.   I'd like to get some CSV fields as the KML Placemark "Name" and "Description", concatenated fields, actually. -dsco NameField=RegionName option in ogr2ogr, but I don't see a way to concatenate fields into name, e.g Street, City, State..  In the .vrt below, the SrcSQL field results in no records. It does open, but with layer info. The Field tag (when not commented out) does result all records with in the new alias, but the "name" is the only field that comes through, it drops all other fields.  Is there a way to concatenate fields using ?  Of course, perhaps ogr is not capable of concatenation ...  &lt;OGRVRTDataSource&gt;     &lt;OGRVRTLayer name="roofing-poi2"&gt;         &lt;SrcDataSource&gt;roofing-poi2.csv&lt;/SrcDataSource&gt;         &lt;GeometryType&gt;wkbPoint&lt;/GeometryType&gt;         &lt;LayerSRS&gt;WGS84&lt;/LayerSRS&gt;         &lt;GeometryField encoding="PointFromColumns" x="Longitude" y="Latitude"/&gt; &lt;!--         &lt;Field src="StreetAddress" name="name" /&gt; --&gt;         &lt;SrcSQL&gt;SELECT StreetAddress as name&lt;/SrcSQL&gt;     &lt;/OGRVRTLayer&gt; &lt;/OGRVRTDataSource&gt; Replacing all values in a table > $T$ How to include third party Python libraries in Google App Engine? Find the limit: $\displaystyle\lim_{x\to \infty} (\sqrt{x^2+x}-\sqrt{x^2-x})$. Python: Uniqueness for list of lists Preserve bash history in multiple terminal windows I consistently have more than one terminal open. Anywhere from two to ten, doing various bits and bobs. Now let's say I restart and open up another set of terminals. Some remember certain things, some forget.  I want a history that:   Remembers everything from every terminal Is instantly accessible from every terminal (eg if I ls in one, switch to another already-running terminal and then press up, ls shows up) Doesn't forget command if there are spaces at the front of the command.   Anything I can do to make bash work more like that? Website with a collection of sci fi stories set in the same universe; powerful AIs being regarded as Gods, one named Gaia, and a "technopocalypse" There is a site with lots of stories all set in a future with super powerful AIs regarded as Gods, the most powerful being matrioshka brains. They have a specific terminology but I can't remember their names. Earth has been converted into a similiar godlike computer called "Gaia" and has expelled all humans creating a dystopian exodus across the solar system. And something about rogue Von Neumann machines causing a huge crisis dubbed the "technopocalypse". Where are static variables stored in C and C++? don't really understand how to log on with your SE account in the new logon screen.  And although it might be obvious to most of us, some people find the new dialog hard to understand.        Can we add a logo and some text to make clear users can log on with their SE account? Something like:     [SE LOGO] Log on using your StackExchange account   Followed by the two boxes for email and password. How to stop iPhone users from sending iMessages and send SMS instead I used to have an iPhone, but I changed to an android (shock, horror!). Unfortunately Apple refuses to let me go and whenever friends message me the messages get sent as iMessages (unless they remember to specifically chnge the format). I never get these messages. They never get resent as SMSs automatically as is supposed to happen. How can I get my phone number deleted from the iMessage list. I've turned off iMessage on the old iPhone. Finding where source has branched from git Need help disabling imessage? I recently changed from iphone to android and i have been having trouble recieving messages from my iphone friends since my iphones screen is broken i cant do anything on it. Any way to fix this problem through icloud or something? I'm writing a LINQ to SQL statement, and I'm after the standard syntax for a normal inner join with an ON clause in C#.  How do you represent the following in LINQ to SQL:  select DealerContact.* from Dealer  inner join DealerContact on Dealer.DealerID = DealerContact.DealerID Tag scores update is supposed to happen at 03:00 UTC every day. Tag scores are updated by a scheduled job that is time consuming and often times out  (see for example the answers for  and ).  In the past month or two, the issue with not updating the scores has gotten much worse. Tag scores are now regularly not updated for 2-3 days in a row. The job fails more often than it runs which obviously lowers usability and appeal of tag badges (which are not awarded when the script fails) and scores to some extent.  I can also guess that if a job fails on consecutive days, it only makes it harder to make it work as it has more and more tags and answers to recount.  This issue happened in the past but not to the extent it's happening now.  Please do not close it as duplicate. I'm creating a separate post as I've been asked to do it by Adam Lear in a comment for the answer for the first of the linked questions. Other posts reporting this issue have accepted answers which makes them difficult to track for the SE team.  UPDATE  I've been writing down whether the scores were updated or not every day in April.  The results are:  Day      1   2   3   4   5   6   7   8   9   10  11  12  13  14  15   Updated  -   -   -   ✓   -   ✓  -   -   -   -   -   ✓   -   -   -   Day      16  17  18  19  20  21  22  23  24  25  26  27  28  29  30 Updated  ✓   -   ✓   -   ✓   -   -   ✓  ✓   -   ✓  -   ✓   -   -   The update succeeded on 10 days, failed on 20. The situation got somewhat better in the second half of the month. Has something been done about it? Check if this proof about real numbers with an irrational product is correct. Can anyone confirm if my proof is correct, please?  Claim:- “If $x$ and $y$ are real numbers and their product is irrational, then either $x$ or $y$ must be irrational.”  Proof:-   Assume that both $x$ and $y$ are rational. Now, let $x = \dfrac pq$ and $y = \dfrac mn$ since both of them are rational. $xy =\dfrac pq * \dfrac mn = \dfrac{pm}{qn}$ Thus, if the product $xy$ can be written as a fraction, it's not a irrational number. Therefore if one of $x$ and $y$ is not irrational, then the product is not irrational.  By the principle of proof by contraposition, If $x$ and $y$ are real numbers and their product is irrational, then either $x$ or $y$ must be irrational. Why is removing instationarities a good thing when trying to forecast a time series? Italian keyboard: entering tilde (~) and backtick (`) characters without changing keyboard layout Here is what the layout of an Italian keyboard looks like:  As you can see, the curly braces, which are absolutely necessary to write code in any of C, C++, JavaScript, Java, Objective-C, and others, appear in purple in this picture. This is because while the other characters can be seen visually as printed characters on most Italian keyboards, these purple characters are actually usually not printed on the keyboard's keys. These characters, found in the upper right corners of the given keys, can usually be generated with the following key combinations: (RIGHT SHIFT or LEFT SHIFT) + (RIGHT CTRL or LEFT CTRL) + (Alt or AltGR) + ([ or ]) (Actually as the MSKLC application shows, SHIFT + AltGr + [ and SHIFT + AltGr + ] are enough to generate the curly braces.) Characters such as the at (@) sign (called 'chiocciola' in Italian) and the hash (#) key (called 'cancelletto' in Italian) found in the lower right hand corner of the keyboard can be generated easily as follows (AltGr + @) or (AltGr + #). Such characters are also fundamental to programming as they can, for instance, be found in CSS, namely with media queries and with selectors referring to the id html attribute. Upon further inspection, we can see that all of the US ASCII keyboard / programmer's keyboard are covered by the keys of the Italian keyboard, except for the following, which are the tilde, which is especially useful on the Linux command line and is used to refer to a user's home directory on such system, as well as the back-tick (`), also known as the back-quote, which is also very useful on the Linux shell when we want to turn the output of a command into a command-line input. So, here comes the question: With all those empty upper-right hand corners of keys, why isn't there a better way of generating these characters, perhaps through a CTRL-ALT-SHIFT modifier key combination? All I've been able to find regarding generation of these characters are the following ALT-codes:  ALT code 96  corresponds to ` ALT code 123 corresponds to { ALT code 125 corresponds to } ALT code 126 corresponds to ~  and to generate a character via an ALT code, you make sure that the NumLock key on your keypad is toggled on, hold down the ALT key, enter the keycode, and release the ALT key. ALT code are documented at:  If someone knows of a better way of inserting these characters from an Italian keyboard without switching the keyboard layout in the Control Panel, then please let me know. Thanks. 16 GB USB flash drive capacity down to 938 MB After writing the FreeNAS IMG to a 16 GB USB flash drive, I can now only use 938 MB. I used the Win32 Disk Imager tool to write the IMG to the device. Then later, when I inserted the the USB drive into my Windows 7 computer it said that it had to be formatted, because it couldn't read it. I believe this is normal. So I formatted it inside Windows using the format option when prompted. So in Windows Explorer now, 938 MB is reported as capacity of this device.    Also, when i check the properties dialog box I can see the same numbers.    And when I check with diskmgmt.msc I can see there are several volumes I don't recognize and unallocated space of 12.79 GB.    Now, I have another 2 GB USB flash drive with the same problem. It too was used for FreeNAS, and it too has a reported capacity of only 938 MB. I thought it was broken there for a while, until I saw the same problem with this 16 GB model.  I tried using diskpart on the 2 GB model, and I saw that there were several partitions there (list partitions) just like on this one. So I used the clean option to try to wipe it, but that wiped off everything so it's totally useless now. I'm not sure how to rebuild it.  Is this a standard routine, like part of the whole "user experience", that whenever you make a bootable USB falsh drive with FreeNAS, it messes up your device? I am new to FreeNAS, so i wouldn't know. But it sure looks like it. Maybe it is in fact the format operation in Windows that messes things up... I don't know. It's not very nice.  How do I restore the capacity back to 16 GB-ish (14.9 GiB)? How to determine the direction of a wave propagation? In the textbook, it said a wave in the form $y(x, t) = A\cos(\omega t + \beta x + \varphi)$ propagates along negative $x$ direction and $y(x, t) = A\cos(\omega t - \beta x + \varphi)$ propagates along positive $x$ direction. This statement looks really confusing because when it says the wave is propagating along $\pm$ x direction, to my understanding, we can drop the time term and ignore the initial phase $\varphi$ while analyzing the direction, i.e. $y(x, 0) = A\cos(\pm\beta x)$, however, because of the symmetry of the cosine function, $\cos(\beta x)\equiv \cos(-\beta x)$, so how can we determine the direction of propagation from that?  I know my reasoning must be incorrect but I don't know how to determine the direction. So if we don't go over the math, how to figure out the direction of propagation from the physical point of view? Why $-\beta x$ corresponding to the propagation on positive x direction but not the opposite? Let $a,b,c $ are non-negative real numbers, and $a+b+c=3$.  How to prove inequality $$ ab^2+bc^2+ca^2\le 4.\tag{*} $$    In other words, if $a,b,c$ are non-negative real numbers, then how to prove inequality $$ 27(ab^2+bc^2+ca^2)\le 4(a+b+c)^3.\tag {**} $$ $\color{gray}{\mbox{(Without using "universal" Lagrange multipliers method).}}$  Thanks!