We consider the problems of placing cameras so that every point on a perimeter, that is not necessarily planar, is covered by at least one camera while using the smallest number of cameras. This is accomplished by aligning the edges of the cameras' fields of view with points on the boundary under surveillance. Taken into consideration are visibility concerns, where features such as mountains must not be allowed to come between a camera and a boundary point that would otherwise be in the camera's field of view. We provide a general algorithm that determines optimal camera placements and orientations. Additionally, we consider double coverings, where every boundary point is seen by at least two cameras, with selected boundary points and cameras situated such that the average calibration errors between adjacent cameras is minimized. We describe an iterative algorithm that accomplishes these tasks. We also consider a joint optimization algorithm, which strikes a balance between minimizing calibration error and the number of cameras required to cover the boundary.