installing mediawiki on ourproject.org and managing mysql - mediawiki

i have registered a project at ourproject.org and requested a mysql dp,they answered at my email and said that i can acces relative information at home/users/my_user_name/dp.txt but it just directs me to my use page.
first:how can i access the dp ?
second:i want to install mediawiki on it but they say that i should install it to the web space of the project ,by web space do they mean the ftp server ?
third:i want to enable interwiki's(eg: en.wiki , es.wiki, ...etc) should this be configured during or after the installation of media wiki.

On you third (second) question. Interwiki means between wiki's, meaning that it link from one wiki to the other. You can set up your other wiki's after you set up the first one.
Also when your wikis are basically the same, except for the fact that they are in different languages, you should refer to the interwiki links as interlanguage links.
About setting up the MediaWiki. You first need to set up a MySQL DB (I assume that is what you mean with dp?). Then you upload the MediaWiki files to your FTP server (it is recommended to do this to the /w folder). After this you can just visit your wiki (at ourproject.org/w) and set it up (including giving it the MySQL DB information).

Related

Mixing edit access levels within the same mediawiki

I have my own mediawiki (running on a LAMP stack on an Ubuntu machine).
Some pages constitute my own scratchpad / diary. I don't want other people to edit them.
Other pages I would like to allow and encourage community editing.
However I don't want to have to crank up another webserver Machine instance to run another MediaWiki.
Is it possible to get both within the same mediaWiki installation?
Sure. You could use $wgNamespaceProtection, or plain page protection. More generally, see Manual:Preventing access.

From a newby: Can one mediawiki installaiton have two wikis?

We are planning to use mediawiki as the basis for our products documentation. Access control will be used to grant customers access to content.
We would also like to use mediawiki for some of our internal documentation, stuff that customers should not access.
Is it possible to configure one installation of mediawiki such that one group of users sees certain wiki content and that another group of users sees other wiki content? If so, please point me to the appropriate documentation as I am not even sure what this would be called (thus I am uncertain where to look).
Thank you.
If by one installation you mean one database, it is sort of possible but extremely unwise. See this section of the manual for explanation and Category:Page specific user rights extensions (especially the Lockdown extension) if you decide to try it anyway.
Using the same installation directory (ie. PHP files) but separate databases is fine. The manual page about wiki farms describes a few ways to do it.
If you mean, that you want to restrict the "view" permission for certain pages to a specific group, then the answer is kind of maybe. With the default MediaWiki installation, that is not possible, as MediaWiki is designed to be "open" to all users (as least the view persmission). You can "just" restrict, that a certain group can read or can't read, but this will always mean all pages.
Maybe your problem can be solved by having really two wikis, instead of holding two "sections" in one wiki. For this you would need:
One MediaWiki installation on your file system (unzipping the mediawiki tarball release), e.g. /var/www/html/mediawiki/
Two mysql databases (or you use two database prefixes)
Two different urls (e.g. example.com/wiki1 and example.com/wiki2 or wiki1.example.com and wiki2.example.com)
A bit more complex MediaWiki configuration
Now, you first need to create two virtual hosts in your webserver. Both should point to the installation directory of your mediawiki (/var/www/mediawiki/). In the next step you would need to create a configuration which will be different depending on the wiki requested by the user (depending on what url is used). This is a bit tricky and a mostly undocumented way in MediaWiki, but in fact it's working like this:
You create a wgConf object
You fill this wgConf object with valid wikis (usually you use a unique name, e.g. the dbname)
You let wgConf extract all settings (using the name of the wiki, e.g. the dbname)
This part is more or less documented at the wgConf manual page. The more tricky way is to parse the url correctly and set all the information you need. The Wikimedia foundation uses a script called MultiVersion. This tool does a bit more as just parsing the url to indentify the wiki, but ok. With MultiVersion you would then set the configuration variable wgDBname which you then use to load the wgConf data. For more information, you should ask specific questions and look into the git repository of the Wikimedia foundations configuration. I use a similar approach with just 2 wikis, and a lot smaller MultiVersion (but it's based on the idea of the WMF), so maybe this will help you understand the way to configure wikis, too.
You want, e.g., also make sure, that the wikis are able to create inter-wiki links to link, e.g., a documentation of your public wiki in your internal wiki and vice versa. And you probably want to make sure, that some database tables are shared by one wiki, so your users just need to register once to access both wikis (and set the internal read permission for users to false, so that you have to give access to users ecplicitly). See $wgSharedDB and the manual for shared databases. The configuration of my two wikis uses this feature to share user tables.

How to password protect website hosted on Amazon Web Services (AWS)

I wanted to create a website that would be like a dropbox of sort, which just has files that me and my organization can access. I wanted to password protect the website, just a simple username and password. I have my own domain. I have been looking all over the web to find how to do this(I am a beginner) and found that using httaccess and htpasswd would be used to secure a website similar to what is shown here: http://www.htaccesstools.com/articles/password-protection/
But I cannot seem to get it to work. I am using the s3 bucket and putting the httaccess and htpasswd file in the same folder as the index.html file. Do you know how I would get my site to have a simple password protection(thats not seen in the source code or by typing in the html)? I am not sure if I am finding the directory correctly or not to implement this password protection correctly. Thank you for taking the time to read this and hopefully this makes sense!
Anyone else had this issue?
Amazon AWS alone won't do it. htaccess and htpasswd are also not the right tools for what you want to do.
Get yourself a cheap hosting account with a company like hostgator or godaddy or namecheap or any other that will host your web page and give you PHP and MySQL.
You cannot accomplish what you want just using javascript/jQuery. Those languages run on the browser, but you want to store your files on a server. Therefore, you need the language that controls the server - that is usually PHP. (The other popular solution is ASP, which is by Microsoft and runs on costly and complex Microsoft servers -- PHP is free and runs on (free) Linux and is therefore what ALL of the cheap web hosting companies provide. MySQL is the (free) database that is analogous to Microsoft SQL)
Next, watch a video tutorial on creating a PHP / MySQL login system, such as the ones over at:
phpAcademy (now called codecourse, apparently)
theNewBoston.com
You need to learn more about:
PHP sessions
Ajax
jQuery
MySQL (possibly)
On a basic website, you can stick your files into directories and control who can access those directories by whether or not they are logged in.
You can determine if a visitor is "logged-in" or not by asking for a username/password and setting a session variable. Session variables are just variables that are stored on the server, rather than on a user's own computer (of course, that wouldn't work since every visitor has his own computer and your files are stored on a central server -- so that is where the security (variables) must reside, right?)
Anyway, in a weekend of video watching and trial-and-error you can probably get something cobbled together that will do what you want.

Unwanted code being inserted into pages

Some of our ColdFusion sites are having the words "coupon" inserted into their footer with a link to another site. Is there anything I can do to prevent this? Is there any software I can run to help detect any vulnerabilities? It doesn't seem to be SQL injection as the databases seem fine and nothing unusual is showing up in the logs.
There are several variations of attacks that produce this sort of result (appending a link to some malicious or nefarious site). For example, this one (Script Injection) uses the latency between a file upload and checking to insert executable code on your server.
Other attack vectors include FTP (which is why you should not use it), or other file transfer protocols. In your case the infected machine may not be the server. It could be a client machine with access to the server - a developer who has set up FTP to the server for example.
Let me know if you need formal help - we have a good track record fixing this sort of thing. If you get more clues post them and I'll try to help. I will warn you that if this is a server infectionit is at the root level and is so pervasive your only option is to start with a pristine install and reinstall your code. Bad news I know - sorry :(
We had something similar happen when one of our servers was hit by the hack Charlie Arehart describes here:
http://www.carehart.org/blog/client/index.cfm/2013/1/2/serious_security_threat
Have you had these patches?
Another option that I would recommend is searching your site(s) for any use of the <cffile> tag that isn't expected. I had a customer that somehow got a single file that was a backdoor to their site. It was particularly dangerous because it could upload files to any location on the server as well as execute any SQL command against any datasource on the server. In other words, this single file opened the door to all of the sites and databases that were running on that server.
This backdoor file (which was named vision.cfm) was often used to update footers with links to coupon and spam sites. vision.cfm was only 210 lines of code.
The entire server had to be sanitized after this was discovered.

Migrating Wordpress from sub-domain to root

I am about to start building a new site in Wordpress on the same domain as the old site. I need the old site to stay live until the new one is launched and I also need to develop online.
What is the best way to go about this? Should I create a subdomain or subfolder?
How would I go about migrating the Wordpress site & database from this testing area to the root on completion?
Thanks.
This depends on your hosting environment.
If you have a Cpanel hosting account you can create a subdomain through that, which actually creates a subfolder. This is known as a virtual subdomain.
So you can access the test site by going to www.yourdomain.com/subfolder or www.subfolder.yourdomain.com
This is good because it doesn't lock you in either way.
As to migrating your site I would back up your old sites files locally (via FTP) and your database via PHPMYADMIN. Then copy your development site via FTP into the root directory and update your database via PHPMYADMIN
With WordPress you can create either a sub-domain like http://blog.mysitename.com or a sub-folder like http://mysitename.com/blog/ - either one WordPress will support - you just need to make your settings in your wp_options table (usually rows w/ ID's 1 & 39) point to the appropriate domain you've set up. It just kind of depends on what kind of control you have over your server, but from the sound of it, you should have enough to do both.
For your database - you can actually point to the same database & just pre-pend your table names with some sort of prefix to distinguish between your existing site & your new site. WordPress by default prepends your table names w/ "wp_", so for example "wp_TABLE_NAME" with the all cap's being replaced w/ the actual name of the WordPress table (like your wp_options table). Or, you can set up a entirely new database too & it wont matter.
The key is when the WordPress site is ready to go live, you'll need to point the main domain to the new site & then change the wp_options table to use the new URL.
You may need to change .htaccess, too, unless Cpanel (if used) handles that: Changing The Site URL « WordPress Codex and Moving WordPress « WordPress Codex.