Create/configure New repository in remote mercurial server on IIS - iis

Are there any tools avaliable to create and configure (Add new users, Change authorization settings ) mercurial repository hosted in IIS server ?
Currently I want to remotely log in to the server and need to create new repository and configure it manually.

I would take a look at Kallithea. That is a like a hgweb on steriods :) It has user management with authentication against LDAP (so you can use Active Directory), repository management, browsing, etc.
You ask about IIS and I know that it can run Python WSGI applications. Kallithea is based on Pylons and while it's described a difficult, you can run Pylons on IIS if you want.
I would probably install Apache instead or simply use the small web server that comes with Kallithea (depending on the load you expect).

Related

Can I deploy an application using OpenLDAP on Linux server to Windows client?

Is it possible to deploy installers (for example Chrome browser .exe file) to install on Windows client computers across all office buildings using OpenLDAP? The OpenLDAP is installed on CentOS 8. If it is not possible can Active Directory Help Me?
Why would you use a directory service to store binary files? This might be possible but it's a terrible idea.
Active Directory is a broad suite of tools. AD Domain Services is basically the OpenLDAP equivalent https://social.technet.microsoft.com/wiki/contents/articles/699.active-directory-domain-services-ad-ds-overview.aspx and doesn't do what you want
AD GP (Group Policy) allows you to push software https://learn.microsoft.com/en-us/troubleshoot/windows-server/group-policy/use-group-policy-to-install-software but if you're only using it to push a Chrome installer, it's overkill to set it all up. It does work though!
You can also use SCCM (oh I guess it's called MECM now, haven't touched it in a hot minute).

IIS Test Server From Existing IIS Server with Joomla

I am in a situation where the current web server is a production environment and there is no development environment. It is running Joomla on an IIS Web Server and is an Intranet site with all of the security, IP restrictions, Certificates, and whatever else required to run an enterprise level Intranet site.
I am wondering what I can do to set up a development environment to work within (preferably using some type of version control).
I have full reign over the IIS server, and I have had a co-worker set up a VM clone of the current system to work with, however the security is making it difficult to work with and set up.
I would like to not use Visual Studio as I don't believe I have a license for it; however I can get it if need be. I would like to stick with Notepad++ if at all possible.
Thank you.
If you're wanting to literally take the site content out and be able to edit and work without any of the security restrictions of the production environment, there's a couple of ways you could do it. However, it's going to depend on what DB the system is running with.
Joomla, regardless of what web platform it is running on, is coded in PHP, so you don't have to worry about getting visual studio. You can use Notepad++ as normal.
Option 1 - IIS Clone
If you can take a SQL backup of the database, you build a from-scratch box with IIS. You'd need to add the PHP drivers to IIS to do this. Go to Microsoft's site for more info:
PHP for IIS
Option 2 - Apache Port
You can make an Apache box using WAMP to run, if you're using a Windows machine. PHP is PHP, on any platform, so it should work without modification.
The tricky bit will be the database, depending on your situation. If the database is MySQL, you can import your database backup and be good to go, after changing the config files for the Joomla site.
If the site used MSSQL, it's a little trickier. You'll need to install an MSSQL PHP plugin to get this medthod to work. There's plenty of instructions online on how to do this, it's a case of finding the right one for your implementation.

Questions on setting up a Play! application on a linux server

I have been trying to figure out how to set up a Play! application on a Centos server but am running into several issues which I can't resolve.
I am using git and have a working Play! application on my local machine which I want to deploy to my server.
I have initialised a bare git repository in /home/git on my server using git init --bare and have pushed just the commit data to this bare repo using git push production +master:refs/heads/master as advised in this tutorial.
The plan is to use a git hook to automatically checkout my application to my website root whenever I deploy to production.(so note that the /home/git directory that my bare git repository is in is not my web root)
So my questions at this stage are:
Which directory should my Play! application be deployed to on my server? I have read that var/www/html is traditional for websites with only 1 website running at a particular ip address.
I will not be using an apache server, just the default Play! distribution. But I remember when setting up an apache server we define the DocumentRoot. I think I am right in saying that this defines where any request to the root of http://www.mydomain.com will be routed. As I am not using Apache, how do I define that routing for the Play! application?
For a Play! application, which user should own the web root directory?
Thanks for reading
For git I'd suggest to use gitolite it's litgh, but allows to manage many git accounts and user access and permissions by simple config file.
For questions:
It doesn't matter at all, you can use ANY folder to which you have access (even via sudo). DocumentRoot is typical for common HTTP servers. For Java program of any kind more important is used port on which you start your app. If you want to start application on port 80, you need to do it via sudo. To start more applications on port 80 in different domains you need to install HTTP server (ie. nginx or Apache) and use it reverse proxy possibilities in block's/vhost's config. Anyway used folder still doesn't matter.
As mentioned DocumentRoot is Apache's directive
There's no root directory ... again...
Play serves all resources by own process, doesn't serve anything directly from file storage, so your files are as save as your own app allows for that (especially if you have not any HTTP server on the machine running)
On the other hand, this way you can't run more applications responding at port 80, also eats processor each time for handling static assets, like css files, public images etc. Therefore I definitely prefer to use some HTTP as a reverse proxy/load balancer and server for static files. This way I can place several domains on one host, also HTTP server somehow serves files faster and don't disturbs main app by sending it to browsers.

How to script the install of openam

According to the above documentation, to create the initial configuration I need to open a web browser. This is sound really weird to me. I would like to script the deploy of OpenAM and it seems impossible.
https://wikis.forgerock.org/confluence/display/openam/Deploy+OpenAM
My actual script do the following
Download openam
extract openam
copy .war in tomcat webapp
extract administration tools
extract configuration tool
extract diagnostic tool
download opendj
lauch the setup of opendj with all args
Now I would like to launch the configuration tool of openam with the configuration file I would like to use but it seems OpenAM must be already configured;
The configuration tool require $HOME/openam/boostrap file where $HOME/openam is the configuration folder that should exists once you have already configure it.
Is this true ? To use configuration tool you must already have configured your service ?
Of course not ... 'configurator tool' is meant to initially configure OpenAM.
For the sake of simplicity, you should not use an external data store.
If you really want to use an external configuration store (OpenDJ or Oracle DSEE are the only supported ones currently), the external config store must be up and running before launching 'configurator tool'.
OpenDJ can be configurated in an automated way as well.
If you do not need an external configuration store, just deploy the OpenAM web-app and use 'configurator tool'
Some helpful links:
Using the CLI
configurator.jar documentation
Automated installation and configuration of OpenAM

How to create a Mercurial repository on a remote IIS web server

I have a Windows Server 2003 running Mercurial's hgwebdir.cgi to serve repositories. Push/Pull etc is working as expected for existing repositories.
Currently I'm using remote desktop If I need a new repository on the server.
Is there a better way to do it? Command line, web interface, cgi?
Mercurial by itself only allows for the creation of repositories locally or over ssh. For http you need to either log in to the server via command line and hg init or via RDP and do essentially the same.
It is, however, very easy to create a small CGI script that will create new remote repositories over HTTP. Here's one I built that works on unix and is likely easily adapted to windows:
http://ry4an.org/unblog/UnBlog/2009-09-17
currently , running hg init where you want the repository is the way to do it, any other way would require hgwebdir to implement some kind of security better left to other/better/more os specific tools. It's not that much of a leap to imagine that the HG devs rather focus on the versioning of files than reinventing the wheel with security, at least right now.

Resources